Go back to the main page

All data is from FanGraphs. I have no affiliation with FanGraphs, but please consider contributing to their website if you found this project informative.

Positional Scarcity is determined by ATC WAR Projections from 3-31-2022.


WAR PROJECTIONS AND MODEL SCORES

Players that have an NA for Model_Score did not play in the MLB in 2021 and have a negative or zero Position Rank.


Overall

My model scores for a player are Model_Score. Note:Pitching Scores are normalized to equal the sum of WAR for hitters so they have inflated model scores. Other tabs have non-normalized scores.

Name Team Position ADP WAR Model_Score WAR_Rank Pos_Scarcity
Trea Turner LAD SS 1.3 5.6 8.09 5 0.96
José Ramírez CLE 3B 3.1 5.9 7.89 3 0.94
Juan Soto WSN OF 3.8 7.5 7.81 1 0.92
Bo Bichette TOR SS 4.6 4.7 8.26 15 0.89
Vladimir Guerrero Jr. TOR IF 5.0 5.6 8.31 6 0.88
Gerrit Cole NYY SP 6.8 4.9 8.68 13 0.96
Bryce Harper PHI OF 8.6 5.3 8.30 8 0.79
Shohei Ohtani LAA SP 8.9 2.7 7.19 103 0.64
Shohei Ohtani LAA DH 8.9 4.0 7.93 40 0.73
Corbin Burnes MIL SP 10.6 5.1 8.16 10 0.97
Ronald Acuña Jr. ATL OF 12.0 5.1 7.04 12 0.75
Kyle Tucker HOU OF 12.4 4.6 7.78 19 0.71
Mike Trout LAA OF 13.0 6.5 7.35 2 0.94
Rafael Devers BOS 3B 14.2 4.8 8.02 14 0.84
Mookie Betts LAD OF 15.3 5.8 7.44 4 0.88
Luis Robert CHW OF 16.1 4.6 8.11 20 0.85
Jacob deGrom NYM SP 16.8 5.2 5.77 9 0.98
Ozzie Albies ATL 2B 17.8 4.1 6.97 38 0.88
Walker Buehler LAD SP 17.9 3.7 7.93 47 0.88
Freddie Freeman LAD 1B 18.4 5.1 7.94 11 0.86
Max Scherzer NYM SP 18.5 3.8 6.85 42 0.89
Brandon Woodruff MIL SP 20.4 4.1 6.98 37 0.91
Manny Machado SDP 3B 22.7 4.6 7.37 21 0.79
Yordan Alvarez HOU DH 25.9 4.1 6.69 39 0.86
Teoscar Hernández TOR OF 27.5 2.2 7.86 166 0.40
Josh Hader MIL RP 30.1 1.2 3.48 322 0.92
Tim Anderson CHW SS 30.2 3.2 7.40 76 0.58
Shane Bieber CLE SP 31.4 4.4 9.82 27 0.93
Liam Hendriks CHW RP 31.5 1.6 3.88 245 0.98
Salvador Perez KCR C 32.1 3.7 6.39 50 0.82
Julio Urías LAD SP 33.0 3.3 7.30 64 0.81
Starling Marte NYM OF 33.0 2.7 6.71 108 0.50
Whit Merrifield KCR OF,Oth 33.1 2.3 5.72 150 0.42
Cedric Mullins BAL OF 33.2 3.2 7.80 73 0.66
Zack Wheeler PHI SP 33.9 4.4 6.70 28 0.94
Trevor Story BOS SS 34.8 4.2 6.84 35 0.68
Aaron Judge NYY OF 36.4 5.3 7.28 7 0.84
Matt Olson ATL 1B 36.7 4.2 7.31 34 0.81
Marcus Semien TEX IF 39.0 4.6 8.24 22 0.85
Aaron Nola PHI SP 42.0 4.1 9.52 36 0.92
Lucas Giolito CHW SP 42.2 3.7 8.38 46 0.87
Sandy Alcantara MIA SP 42.8 3.2 6.71 72 0.77
Pete Alonso NYM 1B 45.3 3.5 7.17 59 0.76
Byron Buxton MIN OF 45.6 4.6 7.45 18 0.81
Xander Bogaerts BOS SS 45.7 4.5 7.02 26 0.82
Tyler O'Neill STL OF 47.2 2.8 7.22 98 0.64
Raisel Iglesias LAA RP 47.5 1.0 4.04 376 0.82
Paul Goldschmidt STL 1B 47.5 3.5 7.73 58 0.72
Fernando Tatis Jr. SDP SS 47.7 3.4 4.45 60 0.63
Robbie Ray SEA SP 49.1 3.0 7.82 85 0.72
J.T. Realmuto PHI C 49.3 3.8 6.08 43 0.86
Austin Riley ATL 3B 51.8 3.1 6.70 79 0.46
Freddy Peralta MIL SP 52.9 3.6 8.20 51 0.84
Will Smith LAD C 53.4 4.7 5.59 17 0.95
Francisco Lindor NYM SS 53.9 4.2 5.99 32 0.72
Emmanuel Clase CLE RP 57.1 1.3 3.26 303 0.95
Adalberto Mondesi KCR SS 57.1 2.0 4.90 181 0.33
George Springer TOR OF 57.5 4.2 7.20 33 0.67
Wander Franco TBR SS 58.8 4.5 6.40 25 0.78
Nick Castellanos PHI OF 59.5 2.4 7.96 136 0.48
Javier Báez DET SS 62.4 2.8 6.81 97 0.53
Edwin Díaz NYM RP 63.2 1.0 4.30 369 0.87
Ryan Pressly HOU RP 64.7 1.0 3.70 377 0.86
Eloy Jiménez CHW OF 65.4 2.2 4.78 157 0.45
Randy Arozarena TBR OF 66.1 2.2 6.38 165 0.34
Logan Webb SFG SP 68.6 3.6 8.33 52 0.86
Max Fried ATL SP 69.1 3.5 7.13 56 0.82
Nolan Arenado STL 3B 69.5 3.7 6.37 49 0.66
Joe Musgrove SDP SP 69.9 3.1 6.85 77 0.75
Lance Lynn CHW SP 70.1 3.3 6.50 65 0.80
Kevin Gausman TOR SP 70.6 3.1 7.73 78 0.75
Jose Altuve HOU 2B 74.0 3.8 7.41 45 0.81
Kris Bryant COL OF,Oth 74.2 2.3 6.71 146 0.36
Brandon Lowe TBR 2B 76.9 4.4 7.01 29 0.92
José Berríos TOR SP 77.5 3.2 7.86 71 0.76
Jorge Polanco MIN IF 77.8 3.1 7.50 81 0.56
Corey Seager TEX SS 78.2 4.5 6.61 24 0.75
Jazz Chisholm Jr. MIA IF 78.4 1.8 5.82 212 0.28
Ketel Marte ARI IF 78.4 3.7 6.52 48 0.65
José Abreu CHW 1B 79.0 2.1 6.83 175 0.46
Dylan Cease CHW SP 79.9 3.3 10.60 63 0.79
Aroldis Chapman NYY RP 82.7 0.9 4.79 394 0.80
Bobby Witt Jr. KCR SS 84.4 2.4 NA 133 0.42
Jordan Romano TOR RP 84.5 0.9 4.06 401 0.75
Kenley Jansen ATL RP 84.6 0.7 3.63 461 0.64
Justin Verlander HOU SP 87.7 1.8 NA 207 0.40
Alex Bregman HOU 3B 88.4 4.5 4.67 23 0.74
J.D. Martinez BOS OF 88.5 2.0 6.35 184 0.40
Trevor Rogers MIA SP 90.9 3.0 7.50 86 0.74
Tommy Edman STL 2B 91.2 2.3 5.20 149 0.54
Alek Manoah TOR SP 91.7 2.7 8.69 99 0.66
Jonathan India CIN 2B 91.7 3.8 6.95 44 0.84
Frankie Montas OAK SP 91.8 3.2 8.24 70 0.78
Charlie Morton ATL SP 92.0 2.8 6.62 94 0.70
Daulton Varsho ARI C,Oth 92.8 2.2 4.33 156 0.37
Bryan Reynolds PIT OF 92.9 4.3 7.16 31 0.77
Giancarlo Stanton NYY OF 95.8 2.3 5.45 144 0.51
Yu Darvish SDP SP 97.6 2.7 7.65 104 0.65
Christian Yelich MIL OF 97.8 2.9 4.85 90 0.59
Carlos Correa MIN SS 98.7 4.7 6.47 16 0.92
Yasmani Grandal CHW C 102.2 4.0 5.19 41 0.90
Carlos Rodón SFG SP 102.8 2.8 6.44 93 0.69
Cody Bellinger LAD OF 104.8 3.1 3.44 80 0.61
Shane McClanahan TBR SP 107.9 2.6 9.33 112 0.62
Mitch Haniger SEA OF 108.5 2.5 6.64 127 0.50
Willson Contreras CHC C 109.6 2.7 4.71 109 0.75
Kyle Schwarber PHI OF 110.8 2.7 6.42 107 0.61
Anthony Rendon LAA 3B 111.1 4.3 2.92 30 0.70
Chris Sale BOS SP 111.3 1.9 5.77 189 0.44
Blake Snell SDP SP 112.9 2.3 8.22 138 0.54
Giovanny Gallegos STL RP 113.2 1.0 4.04 370 0.83
Luis Castillo CIN SP 115.2 3.0 8.29 84 0.71
Jesse Winker SEA OF 116.2 3.3 6.48 66 0.74
Jared Walsh LAA 1B 119.2 2.2 6.54 160 0.52
Dansby Swanson ATL SS 120.5 2.7 6.49 106 0.49
Ryan Mountcastle BAL OF,Oth 120.7 1.6 6.14 257 0.26
Franmil Reyes CLE OF 121.8 1.9 6.18 202 0.32
Rhys Hoskins PHI OF,Oth 122.9 3.0 6.30 89 0.64
C.J. Cron COL 1B 123.2 1.7 6.04 233 0.32
DJ LeMahieu NYY IF 123.3 2.3 4.02 143 0.38
Chris Bassitt NYM SP 123.4 2.3 6.54 139 0.55
Willy Adames MIL SS 123.7 3.3 6.14 69 0.60
Max Muncy LAD IF 126.5 3.2 5.92 75 0.68
Jake Cronenworth SDP 2B 127.9 3.4 5.86 61 0.74
Myles Straw CLE OF 128.4 2.3 3.88 148 0.39
Josh Bell WSN 1B 129.3 1.9 5.86 205 0.44
Nathan Eovaldi BOS SP 130.8 3.6 7.50 53 0.85
Mark Melancon ARI RP 132.1 0.4 3.35 609 0.39
Tyler Mahle CIN SP 132.7 2.5 9.19 119 0.59
Blake Treinen LAD RP 136.6 0.8 3.74 431 0.71
Tyler Stephenson CIN C 137.4 2.9 4.18 92 0.78
Pablo López MIA SP 138.2 2.7 6.14 101 0.65
Sean Manaea OAK SP 138.9 2.7 8.39 102 0.68
Luis Garcia HOU SP 140.9 1.9 7.77 193 0.46
Chris Taylor LAD OF,Oth 141.6 2.2 5.32 155 0.37
Joey Votto CIN 1B 142.1 1.9 6.54 204 0.41
Corey Knebel PHI RP 142.7 0.5 3.43 539 0.52
Clayton Kershaw LAD SP 142.8 2.5 5.74 117 0.59
Lourdes Gurriel Jr. TOR OF 144.1 1.3 5.59 310 0.23
Eduardo Rodriguez DET SP 144.8 3.5 10.51 55 0.83
Jarred Kelenic SEA OF 144.8 1.4 3.86 294 0.25
Ke'Bryan Hayes PIT 3B 145.1 3.3 4.12 68 0.53
Keibert Ruiz WSN C 145.1 2.2 2.91 162 0.65
Trent Grisham SDP OF 146.8 3.1 5.13 82 0.63
Framber Valdez HOU SP 147.2 3.0 7.90 83 0.73
Austin Meadows TBR OF 149.0 1.5 5.32 270 0.25
Ian Anderson ATL SP 149.5 2.1 7.74 169 0.49
Justin Turner LAD 3B 151.0 3.0 5.79 88 0.43
Jack Flaherty STL SP 151.6 1.5 5.54 263 0.30
Logan Gilbert SEA SP 155.2 2.2 8.53 153 0.53
Scott Barlow KCR RP 155.8 0.9 4.43 408 0.76
Akil Baddoo DET OF 156.3 1.6 5.02 251 0.29
Camilo Doval SFG RP 157.1 0.5 3.94 536 0.48
Ty France SEA 1B 157.7 2.4 5.12 137 0.57
Yoán Moncada CHW 3B 158.1 3.4 5.09 62 0.59
Ryan McMahon COL IF 158.2 2.1 5.47 177 0.32
Gleyber Torres NYY IF 158.6 2.5 4.02 122 0.45
Shane Baz TBR SP 159.9 1.8 NA 209 0.39
Michael Kopech CHW SP 160.2 2.6 6.84 111 0.61
Taylor Rogers MIN RP 160.8 1.1 4.02 351 0.91
Mitch Garver TEX C 161.0 2.4 3.89 135 0.70
Hunter Renfroe MIL OF 161.3 1.7 5.94 236 0.31
Sonny Gray MIN SP 161.4 2.6 7.67 113 0.63
Nelson Cruz WSN OF 167.6 1.4 5.75 296 0.16
Adolis García TEX OF 167.8 1.2 5.41 326 0.20
Dylan Carlson STL OF 168.0 2.5 5.20 121 0.43
Brendan Rodgers COL IF 168.8 1.6 5.10 253 0.23
Marcell Ozuna ATL OF 169.2 2.2 2.99 163 0.47
Alex Verdugo BOS OF 170.0 2.4 5.41 132 0.41
Mike Clevinger SDP SP 170.6 2.1 NA 171 0.48
Avisaíl García MIA OF 171.1 2.3 6.39 142 0.44
Zac Gallen ARI SP 172.1 2.2 8.93 154 0.53
Amed Rosario CLE SS 172.6 1.9 5.06 197 0.32
Luis Severino NYY SP 174.5 2.1 NA 170 0.51
Matt Chapman TOR 3B 174.5 3.6 4.71 54 0.63
Will Smith ATL RP 177.6 0.5 3.96 565 0.44
Joey Gallo NYY OF 178.7 3.5 5.72 57 0.64
Ranger Suárez PHI SP 179.8 2.4 6.49 130 0.57
Eddie Rosario ATL OF 180.0 0.9 4.70 419 0.14
Alex Kirilloff MIN OF,Oth 180.3 1.6 4.39 252 0.24
Josh Donaldson NYY 3B 182.8 3.3 4.59 67 0.56
Marcus Stroman CHC SP 184.6 2.5 5.95 118 0.60
David Bednar PIT RP 186.8 0.9 3.27 395 0.78
Craig Kimbrel CHW RP 187.1 0.7 3.70 456 0.68
Anthony Rizzo NYY 1B 187.4 2.1 5.48 173 0.49
Luis Urías MIL IF 190.2 2.5 5.27 124 0.41
Adam Wainwright STL SP 190.8 2.1 5.00 167 0.49
Gregory Soto DET RP 191.2 0.5 4.51 545 0.46
Patrick Sandoval LAA SP 191.7 2.3 7.36 141 0.56
Andrew Benintendi KCR OF 192.2 1.9 4.99 198 0.38
Robbie Grossman DET OF 192.2 1.7 4.76 241 0.29
Jorge Soler MIA OF 192.3 1.6 4.94 255 0.25
Tarik Skubal DET SP 193.9 2.0 9.33 180 0.47
Kolten Wong MIL 2B 194.7 2.5 5.59 123 0.63
Tanner Houck BOS SP 202.3 2.4 7.07 131 0.56
Eduardo Escobar NYM IF 202.3 1.9 5.59 201 0.30
Christian Vázquez BOS C 202.4 1.7 2.94 235 0.45
Noah Syndergaard LAA SP 202.6 1.9 NA 194 0.41
Eugenio Suárez SEA 3B 204.3 2.2 4.26 158 0.34
Jean Segura PHI IF 205.1 2.3 5.39 145 0.40
Hyun Jin Ryu TOR SP 205.6 2.4 7.11 129 0.58
Jordan Montgomery NYY SP 207.2 2.7 7.41 100 0.67
Trey Mancini BAL OF,Oth 208.7 1.4 4.78 299 0.21
Yuli Gurriel HOU 1B 209.5 1.4 4.74 300 0.19
José Urquidy HOU SP 210.2 1.9 5.74 191 0.44
Joe Barlow TEX RP 211.3 0.2 2.27 756 0.05
Adley Rutschman BAL C 211.8 2.1 NA 172 0.60
Oneil Cruz 0 SS 212.2 1.8 NA 218 0.29
Anthony DeSclafani SFG SP 212.9 1.7 5.82 220 0.37
Adam Duvall ATL OF 214.6 1.7 5.02 229 0.27
Jonathan Schoop DET IF 215.4 1.7 5.24 237 0.37
John Means BAL SP 215.9 2.6 5.18 110 0.62
Joe Ryan MIN SP 216.9 2.2 7.06 152 0.52
Alex Wood SFG SP 217.0 1.7 6.82 219 0.34
Ian Happ CHC OF 219.1 2.1 5.25 174 0.35
Michael Conforto 0 OF 220.6 2.5 3.77 126 0.52
AJ Pollock LAD OF 220.9 1.8 5.20 210 0.33
Jo Adell LAA OF 221.0 0.6 4.36 518 0.04
Brandon Crawford SFG SS 222.5 2.7 6.46 105 0.51
Bobby Dalbec BOS 1B 223.3 1.7 4.92 232 0.35
Trevor Bauer LAD SP 223.4 1.0 2.35 380 0.15
Matt Barnes BOS RP 225.5 0.8 4.50 436 0.70
Travis d'Arnaud ATL C 225.6 1.4 2.45 298 0.39
Enrique Hernández BOS OF,Oth 225.8 2.8 5.10 96 0.53
Triston McKenzie CLE SP 226.0 1.6 7.49 248 0.31
Elias Díaz COL C 226.5 1.3 3.27 309 0.35
Alejandro Kirk TOR C 226.8 1.8 2.71 211 0.49
Jon Gray TEX SP 228.5 2.3 9.33 140 0.54
Lou Trivino OAK RP 231.8 0.3 3.72 675 0.11
Brandon Belt SFG 1B 233.8 2.5 6.14 120 0.61
Jesús Sánchez MIA OF 234.0 2.2 5.19 161 0.36
Luke Voit SDP 1B 236.8 1.3 3.82 311 0.17
Dylan Floro MIA RP 237.3 0.4 3.26 593 0.33
Charlie Blackmon COL OF 237.3 0.6 4.84 516 0.06
Harrison Bader STL OF 239.4 2.9 4.65 91 0.55
Frank Schwindel CHC 1B 239.6 0.8 6.59 441 0.10
Alex Cobb SFG SP 240.6 1.9 7.14 187 0.45
Andrew Kittredge TBR RP 240.6 0.8 3.78 429 0.72
Gary Sánchez MIN C 242.4 1.1 2.95 357 0.24
Jonathan Villar CHC IF 242.5 1.2 4.05 329 0.13
Jeimer Candelario DET 3B 243.0 3.2 5.09 74 0.49
Garrett Whitlock BOS RP 244.8 1.4 5.09 282 0.96
Huascar Ynoa ATL SP 245.2 1.8 6.67 206 0.40
Josh Rojas ARI OF,Oth 246.8 1.5 4.36 274 0.27
Austin Hays BAL OF 247.4 1.7 5.34 231 0.28
Jake McGee SFG RP 248.0 0.4 2.81 596 0.31
Sean Murphy OAK C 248.3 2.5 3.07 128 0.72
Steven Matz STL SP 250.1 1.9 7.84 195 0.43
Julio Rodríguez SEA OF 250.5 2.6 NA 114 0.60
Ramón Laureano OAK OF 250.7 2.6 5.13 115 0.48
Nathaniel Lowe TEX 1B 251.1 1.8 5.16 215 0.39
Mike Zunino TBR C 251.6 2.0 3.96 186 0.58
Michael Brantley HOU OF 252.3 2.0 4.25 185 0.39
Nicky Lopez KCR IF 254.1 1.8 4.50 217 0.26
Omar Narváez MIL C 254.9 1.7 2.57 239 0.47
Bailey Ober MIN SP 257.0 2.2 6.83 151 0.51
Tommy Pham CIN OF 257.9 1.7 4.16 242 0.34
Germán Márquez COL SP 259.1 2.8 9.22 95 0.69
Aaron Ashby MIL SP 261.5 1.5 6.31 260 0.28
Andrew Vaughn CHW OF 263.5 1.2 4.05 327 0.21
Riley Greene DET OF 267.3 1.7 NA 240 0.34
Aaron Civale CLE SP 268.2 1.5 8.07 261 0.30
Casey Mize DET SP 268.3 1.7 6.16 222 0.35
Cal Quantrill CLE SP 268.7 1.7 6.20 221 0.36
Jesús Luzardo MIA SP 271.0 1.0 8.44 372 0.14
Lucas Sims CIN RP 273.7 0.7 4.26 462 0.63
Miguel Sanó MIN IF 277.3 0.8 5.19 446 0.08
Joey Bart SFG C 277.8 0.9 NA 424 0.21
Carlos Carrasco NYM SP 280.0 1.2 6.16 317 0.23
Carson Kelly ARI C 281.3 1.9 2.69 200 0.53
Devin Williams MIL RP 281.7 1.0 4.12 367 0.88
Mark Canha NYM OF 282.7 1.7 5.38 238 0.35
Drew Rasmussen TBR SP 283.2 1.7 5.45 223 0.34
Gavin Lux LAD IF 283.6 1.5 3.11 272 0.19
Lane Thomas WSN OF 285.4 1.1 3.55 362 0.16
Paul Sewald SEA RP 288.5 0.5 4.55 560 0.42
Cristian Javier HOU SP 288.6 1.1 6.15 343 0.18
Josiah Gray WSN SP 289.6 1.6 8.99 244 0.33
Kyle Hendricks CHC SP 290.6 1.7 8.26 224 0.38
Mike Yastrzemski SFG OF 291.1 2.2 5.33 164 0.38
Andrés Giménez CLE IF 291.8 1.7 3.20 230 0.24
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.08 254 0.21
Yusei Kikuchi TOR SP 294.5 1.7 8.53 228 0.36
Wil Myers SDP OF 294.5 1.1 4.66 365 0.18
Max Kepler MIN OF 295.3 2.5 5.26 125 0.45
Lance McCullers Jr. HOU SP 295.4 1.5 3.99 265 0.29
Raimel Tapia TOR OF 297.2 0.3 3.61 716 0.02
Jameson Taillon NYY SP 297.4 2.0 5.76 179 0.46
Tony Gonsolin LAD SP 298.0 0.9 6.09 409 0.12
Max Stassi LAA C 300.6 1.8 3.13 214 0.51
Ken Giles SEA RP 300.7 0.4 NA 605 0.28
Rowan Wick CHC RP 300.8 0.4 3.77 617 0.32
Jesús Aguilar MIA 1B 304.3 1.1 3.87 359 0.14
Anthony Santander BAL OF 305.1 1.3 4.15 308 0.21
Eric Lauer MIL SP 306.1 1.4 6.16 281 0.26
Andrew Heaney LAD SP 309.4 1.4 8.36 280 0.25
Stephen Strasburg WSN SP 310.5 1.2 5.13 324 0.21
Luis Patiño TBR SP 312.6 1.5 7.04 266 0.27
Eric Haase DET C 313.9 0.7 3.15 473 0.12
Jeff McNeil NYM OF,Oth 314.1 1.9 3.56 203 0.38
Zack Greinke KCR SP 316.2 1.6 4.94 249 0.33
Gio Urshela MIN 3B 320.0 1.4 3.48 292 0.14
Garrett Hampson COL OF,Oth 322.9 0.3 2.72 703 0.01
Yadier Molina STL C 324.2 1.2 2.77 341 0.27
Corey Kluber TBR SP 324.8 1.2 6.34 320 0.20
Marco Gonzales SEA SP 325.3 1.7 6.14 225 0.38
Tylor Megill NYM SP 325.5 1.1 5.58 352 0.19
Cavan Biggio TOR 2B 325.7 1.4 2.79 288 0.20
Andrew McCutchen MIL OF 327.4 0.9 4.70 414 0.12
Alec Bohm PHI 3B 328.8 1.4 3.33 286 0.19
Elieser Hernandez MIA SP 329.3 0.9 6.08 397 0.13
Nestor Cortes NYY SP 329.7 1.4 4.64 284 0.25
Brandon Nimmo NYM OF 331.0 3.0 4.57 87 0.58
Alex Colomé COL RP 332.7 0.1 4.01 829 -0.05
Robert Suarez SDP RP 343.8 0.4 NA 615 0.36
Connor Joe COL OF,Oth 345.9 0.7 3.25 472 0.07
Ha-Seong Kim SDP IF 348.4 1.5 2.84 273 0.20
Randal Grichuk COL OF 349.8 0.6 4.30 527 0.05
Nick Pivetta BOS SP 353.6 1.7 9.40 227 0.35
Rowdy Tellez MIL 1B 355.5 0.8 3.02 448 0.12
Nick Madrigal CHC 2B 358.8 1.8 3.61 216 0.41
Tanner Rainey WSN RP 362.2 0.2 4.45 787 0.08
Zach Plesac CLE SP 362.8 1.5 7.13 268 0.27
Rafael Ortega CHC OF 363.8 0.9 4.27 428 0.11
Abraham Toro SEA IF 364.9 1.4 2.75 285 0.16
Tyler Naquin CIN OF 366.3 0.7 5.10 485 0.09
Michael Fulmer DET RP 367.0 0.6 3.79 506 0.61
Kyle Finnegan WSN RP 369.2 0.2 4.60 770 0.05
Patrick Wisdom CHC 3B 369.7 1.3 4.78 312 0.13
Luis Arraez MIN IF 372.3 1.5 3.71 276 0.22
Anthony Bender MIA RP 372.8 0.7 3.30 452 0.62
LaMonte Wade Jr. SFG OF 373.7 1.0 4.98 388 0.13
Austin Nola SDP C,Oth 379.5 1.4 1.98 287 0.21
James McCann NYM C 382.9 1.4 2.23 293 0.37
Mike Moustakas CIN IF 383.4 0.9 2.47 426 0.10
Dinelson Lamet SDP RP 384.2 0.9 3.42 396 0.77
Nick Senzel CIN OF 390.4 1.0 2.54 389 0.15
Drew Steckenrider SEA RP 394.4 0.3 2.76 659 0.18
Jonathan Loáisiga NYY RP 396.3 1.0 3.37 373 0.85
Josh Harrison CHW 2B 397.7 1.2 3.70 332 0.15
Reid Detmers LAA SP 399.0 1.1 6.75 349 0.17
Danny Jansen TOR C 400.1 2.0 3.39 183 0.55
Kyle Gibson PHI SP 400.6 1.9 7.68 192 0.42
Chad Green NYY RP 407.5 1.0 4.28 366 0.81
Carlos Hernández KCR SP 408.6 1.2 6.77 318 0.20
Chris Flexen SEA SP 410.0 1.9 6.74 188 0.41
César Hernández WSN 2B 414.5 1.7 4.49 234 0.37
Adam Frazier SEA OF,Oth 415.1 2.0 4.73 182 0.41
Cole Sulser BAL RP 415.2 0.7 3.67 455 0.67
Manuel Margot TBR OF 418.2 1.1 3.65 363 0.16
Hunter Greene CIN SP 421.7 1.0 NA 371 0.16
Vidal Bruján 0 OF,Oth 422.0 0.8 NA 450 0.10
Diego Castillo SEA RP 422.7 0.6 3.68 494 0.60
Joey Wendle MIA IF 426.3 1.4 4.46 295 0.17
Art Warren CIN RP 430.2 0.8 2.51 430 0.73
David Fletcher LAA 2B 430.3 1.4 3.85 289 0.21
Taijuan Walker NYM SP 430.9 0.6 5.42 510 0.07
Brandon Marsh LAA OF 432.3 1.1 2.70 353 0.19
Keston Hiura MIL 2B 432.5 0.2 1.77 811 0.01
Kyle Lewis SEA OF 439.2 1.2 2.65 334 0.21
Pierce Johnson SDP RP 441.4 0.6 3.08 509 0.56
Jacob Stallings MIA C 447.4 2.2 2.19 159 0.67
Chris Paddack SDP SP 449.4 1.2 5.53 319 0.22
Jeremy Peña HOU SS 451.0 1.8 NA 213 0.25
Jorge Mateo BAL OF,Oth 455.6 0.5 2.76 576 0.04
Luis Torrens SEA C 455.6 0.7 2.24 477 0.08
Ian Kennedy ARI RP 457.1 -0.1 3.28 1095 -0.07
Dominic Smith NYM OF,Oth 458.7 0.5 2.51 574 0.04
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 2.69 727 0.02
Alex Reyes STL RP 460.9 0.2 2.40 730 0.06
Tony Kemp OAK OF,Oth 461.7 1.6 4.18 258 0.28
Patrick Corbin WSN SP 462.2 1.6 8.75 247 0.31
Hunter Dozier KCR OF,Oth 462.3 0.6 3.34 517 0.05
Zach Eflin PHI SP 462.9 1.9 5.73 196 0.45
Jorge Alfaro SDP C 464.6 0.2 1.97 807 0.03
Yan Gomes CHC C 465.9 1.5 2.47 278 0.42
MJ Melendez KCR C 466.1 0.5 NA 582 0.06
Willie Calhoun TEX OF 470.0 0.2 2.73 826 0.00
Adrian Houser MIL SP 470.3 1.4 5.31 279 0.26
Dakota Hudson STL SP 472.6 1.1 NA 344 0.20
Josh Lowe TBR OF 472.9 0.3 NA 709 0.00
Michael Pineda DET SP 474.9 1.3 4.54 305 0.25
Darin Ruf SFG OF,Oth 478.1 0.9 3.83 417 0.13
Nate Pearson TOR SP 478.5 0.6 NA 508 0.08
J.P. Crawford SEA SS 478.9 2.4 3.88 134 0.44
Wilmer Flores SFG 2B 479.1 1.3 3.67 315 0.16
Evan Longoria SFG 3B 480.2 1.4 3.94 291 0.20
Lorenzo Cain MIL OF 480.7 1.5 3.79 275 0.26
Mitch Keller PIT SP 482.0 1.3 7.90 306 0.24
Victor Robles WSN OF 484.0 1.0 2.53 392 0.16
Yandy Díaz TBR IF 484.0 1.6 3.44 259 0.26
Eric Hosmer SDP 1B 484.9 0.4 3.70 629 0.02
James Kaprielian OAK SP 486.4 1.1 6.03 345 0.17
Tucker Barnhart DET C 486.8 1.3 1.90 314 0.33
Rich Hill BOS SP 489.7 0.7 4.64 464 0.10
Jorge Alcala MIN RP 491.1 0.6 3.25 502 0.55
Joc Pederson SFG OF 491.3 0.9 3.81 423 0.11
Brady Singer KCR SP 491.6 2.1 9.30 168 0.50
Miguel Rojas MIA SS 492.7 2.3 4.32 147 0.38
Ryan Jeffers MIN C 492.9 1.6 2.57 256 0.43
Tyler Wells BAL RP 493.4 1.3 4.72 307 0.93
Sam Hilliard COL OF 495.5 0.4 3.78 640 0.02
Pavin Smith ARI OF,Oth 497.3 0.7 3.53 479 0.06
Paul DeJong STL SS 498.0 2.1 3.77 176 0.35
Adbert Alzolay CHC SP 499.1 0.6 3.05 487 0.08
Clint Frazier CHC OF 499.5 0.3 1.76 700 0.01
Dane Dunning TEX SP 499.8 1.9 7.07 190 0.42
Nick Lodolo CIN SP 501.1 1.0 NA 375 0.16
Bryson Stott PHI SS 501.8 1.0 NA 385 0.08
James Karinchak CLE RP 505.2 0.7 4.64 459 0.69
Seth Brown OAK OF 507.5 0.7 4.64 481 0.08
Dylan Bundy MIN SP 507.9 1.3 7.13 302 0.24
Nick Solak TEX 2B 508.6 0.6 2.60 525 0.08
Brian Anderson MIA OF,Oth 510.8 1.9 3.23 199 0.28
Francisco Mejía TBR C 511.4 1.2 2.10 328 0.31
Bobby Bradley CLE 1B 511.6 0.5 3.54 568 0.03
Chas McCormick HOU OF 511.8 1.1 3.22 354 0.20
Madison Bumgarner ARI SP 512.3 1.1 5.66 348 0.18
Jarren Duran 0 OF 512.4 0.4 1.92 633 0.03
Miles Mikolas STL SP 513.2 1.6 4.58 246 0.32
Merrill Kelly ARI SP 513.8 1.7 6.52 226 0.37
Héctor Neris HOU RP 515.3 0.4 4.55 595 0.33
Nick Martínez SDP SP 515.3 0.7 NA 463 0.10
Bradley Zimmer CLE OF 516.3 0.7 2.98 468 0.07
Wade Miley CHC SP 516.5 1.2 5.99 325 0.21
Josh Staumont KCR RP 518.1 0.4 3.44 601 0.38
Christian Walker ARI 1B 518.5 0.7 3.22 471 0.08
Rougned Odor BAL 2B 518.5 0.6 2.86 528 0.09
Jose Barrero CIN SS 518.7 1.2 1.61 330 0.11
Tyler Wade LAA IF 519.7 0.3 1.74 723 0.03
Chris Stratton PIT RP 519.8 0.3 4.26 653 0.20
Edmundo Sosa STL IF 520.2 1.4 2.83 290 0.16
Grayson Rodriguez BAL SP 520.7 0.9 NA 399 0.14
Roansy Contreras NA SP 522.1 0.9 NA 407 0.12
Daniel Hudson LAD RP 523.4 0.5 3.09 540 0.49
Nico Hoerner CHC IF 523.5 1.4 2.64 297 0.15
J.D. Davis NYM OF,Oth 524.0 0.9 2.30 421 0.09
Carlos Santana KCR 1B 524.8 0.7 3.25 470 0.09
Brad Hand PHI RP 525.4 0.2 3.73 736 0.02
David Peralta ARI OF 525.8 1.1 3.57 355 0.18
Didi Gregorius PHI SS 526.4 0.9 2.84 418 0.06
Aaron Hicks NYY OF 527.0 1.6 1.93 250 0.27
Gavin Sheets CHW OF 527.5 0.8 3.66 442 0.09
Edward Cabrera MIA SP 527.8 0.6 5.01 495 0.06
Dylan Moore SEA OF,Oth 527.8 0.5 1.57 575 0.05
Luke Weaver ARI SP 528.8 1.1 5.33 347 0.19
Kyle Farmer CIN SS 528.8 1.1 3.31 361 0.10
Jordan Hicks STL RP 529.9 0.4 NA 598 0.30
Matt Brash SEA SP 530.6 0.9 NA 404 0.12
Pedro Severino MIL C 532.5 0.9 1.59 427 0.20
Garrett Cooper MIA OF,Oth 532.8 1.1 3.94 356 0.16
Michael A. Taylor KCR OF 533.0 1.2 3.35 337 0.21
Robinson Canó NYM 2B 533.8 0.3 NA 717 0.03
Kole Calhoun TEX OF 534.0 1.1 2.71 360 0.17
CJ Abrams SDP SS 534.7 0.3 NA 699 0.02
Kevin Smith OAK 3B 535.0 1.0 NA 386 0.12
Pete Fairbanks TBR RP 535.2 0.5 3.44 561 0.43
Domingo Germán NYY SP 537.0 1.0 3.84 368 0.17
Jake Fraley CIN OF 537.7 0.8 2.81 443 0.10
José Iglesias COL SS 537.8 1.2 3.52 331 0.14
JT Brubaker PIT SP 538.1 1.4 7.62 283 0.27
Kris Bubic KCR SP 538.4 1.1 7.16 346 0.19
Tyrone Taylor MIL OF 538.7 1.0 3.04 391 0.15
Cole Irvin OAK SP 538.9 1.5 7.79 262 0.29
Ramón Urías BAL IF 539.1 1.5 3.35 277 0.18
Jake Odorizzi HOU SP 540.4 0.9 4.00 400 0.11
Kendall Graveman CHW RP 541.0 0.4 3.19 606 0.39
Sixto Sánchez NA SP 541.2 1.0 NA 378 0.16
Luis Gil NYY SP 541.7 0.8 4.26 434 0.11
José Suarez LAA SP 542.2 1.3 6.06 304 0.23
Steven Kwan CLE OF 542.4 0.7 NA 483 0.09
Tyler Rogers SFG RP 543.5 0.5 3.22 564 0.47
Brad Miller TEX IF 544.0 1.5 3.61 271 0.17
Kyle Higashioka NYY C 544.1 1.0 1.71 387 0.23
Matt Manning DET SP 544.4 1.2 7.07 323 0.21
Mychal Givens CHC RP 544.6 0.1 3.94 884 -0.09
Tom Murphy SEA C 545.2 1.2 1.51 339 0.30
Mike Minor CIN SP 547.8 1.8 6.51 208 0.39
Emilio Pagán SDP RP 548.0 0.1 3.28 853 -0.04
Ryan Yarbrough TBR SP 548.2 1.5 6.28 267 0.28
Collin McHugh ATL RP 548.9 0.6 3.18 493 0.60
Michael Lorenzen LAA SP 549.6 0.6 5.49 507 0.06
Jurickson Profar SDP OF,Oth 549.6 0.3 2.73 710 0.02
A.J. Puk OAK RP 550.2 0.9 NA 393 0.79
Leury García CHW OF 550.7 0.6 2.85 522 0.07
Miguel Cabrera DET DH 550.7 -0.4 2.74 1168 0.00
Bryan De La Cruz 0 OF 551.7 0.7 2.04 469 0.07
Michael Wacha BOS SP 553.2 0.9 5.09 406 0.13
Seth Beer ARI 1B 553.5 0.3 NA 719 0.01
Jonah Heim TEX C 553.7 0.9 1.24 425 0.19
Carlos Estévez COL RP 554.2 0.2 4.42 737 0.07
Zach Thompson PIT SP 554.7 1.0 4.17 381 0.15
Austin Gomber COL SP 555.0 1.2 6.67 316 0.22
Kyle Isbel KCR OF 555.4 0.6 2.55 520 0.03
Roberto Pérez PIT C 555.5 1.3 2.22 313 0.34
David Robertson CHC RP 557.2 0.2 NA 742 0.03
Garrett Crochet CHW RP 558.8 0.8 3.61 433 0.74
Andy Ibáñez TEX 2B 559.2 1.5 2.75 269 0.28
Mike Soroka ATL SP 559.4 1.0 NA 374 0.15
Reiver Sanmartin CIN SP 559.5 1.1 NA 350 0.18
Tyler Anderson LAD SP 560.9 0.7 4.24 467 0.09
Max Meyer MIA SP 563.8 0.4 NA 611 0.03
Anthony Alford PIT OF 564.0 0.0 2.68 1041 -0.02
Carter Kieboom WSN 3B 564.7 0.8 1.67 439 0.09
Tommy La Stella SFG 2B 565.3 1.2 2.94 340 0.14
Brusdar Graterol LAD RP 566.4 0.7 3.46 453 0.66
Reynaldo López CHW SP 567.8 0.4 2.67 614 0.03
Cristian Pache OAK OF 567.8 0.8 1.36 440 0.10
Justin Upton LAA OF 568.0 0.2 2.72 809 0.00
Dallas Keuchel CHW SP 568.3 1.2 6.93 321 0.22
Martín Maldonado HOU C 568.5 1.2 2.03 336 0.26
Elvis Andrus OAK SS 568.8 0.9 2.79 420 0.06
Daniel Lynch KCR SP 569.1 0.7 5.24 457 0.10
Cade Cavalli WSN SP 569.5 0.6 NA 489 0.06
Richard Rodríguez NA RP 570.0 0.0 2.34 1021 -0.11
Santiago Espinal TOR 3B 570.5 0.8 2.55 449 0.07
Trevor May NYM RP 571.6 0.4 4.70 622 0.38
Alek Thomas ARI OF 572.3 0.9 NA 413 0.13
Trevor Rosenthal NA RP 572.5 0.3 NA 689 0.14
Drew Smyly CHC SP 572.9 0.5 5.07 543 0.05
Trevor Larnach MIN OF 573.0 0.2 1.93 823 0.00
Luis García WSN 2B 573.8 0.7 2.59 476 0.09
Niko Goodrum HOU SS 574.0 0.7 2.26 478 0.05
Cal Raleigh SEA C 574.1 0.8 0.54 438 0.15
Chad Pinder OAK OF 574.5 0.5 2.92 570 0.03
Willi Castro DET IF 574.6 0.3 1.03 724 0.01
Mitch White LAD RP 575.0 0.5 2.07 558 0.42
Matt Vierling PHI OF,Oth 575.2 0.6 2.37 524 0.05
Manny Piña ATL C 576.2 1.2 1.83 335 0.28
Kyle Freeland COL SP 576.8 1.5 7.14 264 0.30
Cody Morris CLE SP 577.2 0.6 NA 492 0.08
Corey Dickerson STL OF 578.0 0.1 2.47 923 -0.01
Edward Olivares KCR OF 578.0 0.3 1.18 702 0.00
Lars Nootbaar STL OF 578.1 0.2 2.32 813 -0.01
Austin Slater SFG OF 578.3 1.0 2.82 383 0.14
Luis Cessa CIN RP 578.4 0.3 2.27 677 0.17
Jose Siri HOU OF 578.9 0.4 NA 637 0.01
Spencer Howard TEX SP 579.0 1.0 6.57 379 0.15
Tyler Matzek ATL RP 579.3 0.6 2.25 512 0.62
Colin Moran CIN IF 579.3 -0.1 2.79 1121 -0.01
George Kirby SEA SP 579.6 0.6 NA 498 0.08
Tucker Davidson ATL SP 579.7 0.4 2.61 624 0.04
Aledmys Díaz HOU IF 580.0 0.9 2.14 412 0.07
Michael Chavis PIT IF 580.6 0.0 2.63 1065 -0.01
Ji-Man Choi TBR 1B 580.7 0.7 3.21 474 0.07
Jon Berti MIA OF,Oth 581.0 0.4 1.11 636 0.03
Ben Gamel PIT OF 581.3 0.9 3.45 415 0.12
José Quintana PIT SP 581.4 0.9 8.39 402 0.11
Jordan Lyles BAL SP 581.5 0.6 6.92 501 0.08
Brad Keller KCR SP 581.6 1.6 9.04 243 0.32
Daniel Bard COL RP 581.9 0.4 5.32 591 0.25
Johnny Cueto NA SP 581.9 0.2 3.91 760 0.02
Hunter Strickland CIN RP 582.1 -0.1 1.67 1094 -0.09
Tyler Beede SFG RP 582.2 0.0 NA 1036 -0.11
Andrés Muñoz SEA RP 582.5 0.4 NA 583 0.23
David Price LAD RP 583.0 0.5 4.18 541 0.45
Tyler Duffey MIN RP 583.0 0.4 3.32 625 0.34
Jace Peterson MIL OF,Oth 583.0 0.3 1.68 706 0.01
Leody Taveras 0 OF 583.8 0.6 1.10 521 0.06
Kevin Plawecki BOS C 584.0 0.7 1.13 475 0.13
James Paxton BOS SP 584.3 0.6 NA 499 0.07
Yimi García TOR RP 584.4 0.1 3.88 914 -0.01
Josh Naylor CLE OF 584.5 0.5 2.76 577 0.03
Harold Ramirez TBR OF 584.7 0.1 1.29 936 -0.01
Ryan Tepera LAA RP 586.0 0.4 2.74 618 0.34
Matthew Liberatore STL SP 586.2 0.6 NA 505 0.07
Austin Hedges CLE C 586.2 0.5 1.80 567 0.08
Victor Caratini SDP C 586.3 0.7 1.04 486 0.11
Antonio Senzatela COL SP 586.4 2.0 7.39 178 0.48
Ross Stripling TOR SP 586.7 0.4 3.52 616 0.04
Matt Duffy LAA 3B 587.0 0.6 2.03 523 0.06
Jackie Bradley Jr. BOS OF 587.3 0.2 1.70 805 0.00
Vladimir Gutierrez CIN SP 587.4 0.3 6.74 691 0.03
Odúbel Herrera PHI OF 587.5 1.0 3.46 390 0.14
Daniel Vogelbach PIT 1B 587.6 0.5 2.16 571 0.04
Maikel Franco WSN 3B 587.7 0.0 1.00 1062 0.00
Cole Tucker PIT OF,Oth 588.0 0.4 1.86 626 0.03
Jake Diekman BOS RP 588.1 0.5 4.40 551 0.43
Drew Pomeranz SDP RP 588.3 0.1 1.45 851 -0.05
Jed Lowrie OAK IF 588.3 0.4 2.58 634 0.04
Nick Gordon MIN OF 588.3 0.4 1.28 639 0.01
Taylor Hearn TEX SP 588.4 0.7 6.02 466 0.09
Amir Garrett KCR RP 588.5 0.2 4.51 732 0.05
Alcides Escobar WSN SS 588.5 0.2 3.57 797 0.01
Nick Ahmed ARI SS 588.6 1.1 2.95 364 0.09
Justin Dunn CIN SP 588.7 0.4 2.91 603 0.04
Dom Nuñez COL C 588.8 0.5 1.72 573 0.07
Andrew Chafin DET RP 588.9 0.6 2.21 488 0.57
Aristides Aquino CIN OF 589.0 0.3 2.34 693 0.01
Kyle Wright ATL SP 589.2 0.2 NA 772 0.02
Brent Suter MIL RP 589.5 0.4 4.16 585 0.29
Matthew Boyd SFG SP 589.6 0.9 3.35 405 0.14
Andrelton Simmons CHC SS 589.7 1.0 1.45 382 0.08
Julian Merryweather TOR RP 589.8 0.2 NA 766 0.09
Glenn Otto TEX SP 590.4 0.9 5.00 398 0.12
Tyler Alexander DET SP 590.4 0.9 3.94 410 0.11
Kevin Kiermaier TBR OF 590.4 1.2 3.21 333 0.22
Yadiel Hernandez WSN OF 590.4 0.1 3.09 962 -0.01
Brad Boxberger MIL RP 590.7 0.2 3.91 735 0.05
José Alvarado PHI RP 590.8 0.4 4.82 599 0.37
Lewin Díaz 0 1B 590.8 0.3 1.58 711 0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.08 815 0.00
Daulton Jefferies OAK SP 591.4 0.8 NA 432 0.10
Erick Fedde WSN SP 591.6 0.6 6.24 496 0.06
Brett Phillips TBR OF 592.3 0.3 1.76 696 0.00
Caleb Smith ARI RP 592.4 0.0 3.56 970 -0.11
Curt Casali SFG C 592.4 0.9 1.22 416 0.18
Danny Duffy LAD RP 592.5 0.3 1.06 656 0.12
Kyle Muller ATL SP 592.5 0.3 2.26 673 0.02
Taylor Walls TBR SS 592.7 1.2 1.65 338 0.12
Steve Cishek WSN RP 592.8 0.0 2.03 1029 -0.11
Edwin Ríos LAD IF 592.8 0.0 0.11 1050 -0.01
Cole Winn TEX SP 592.9 0.2 NA 740 0.01
Eric Thames OAK OF,Oth 593.2 0.1 NA 933 -0.01
Zach Davies ARI SP 593.5 0.2 5.08 794 0.01
Oscar Mercado CLE OF 593.9 0.6 2.43 526 0.04
Riley Adams WSN C 593.9 0.8 1.41 447 0.15
Alec Mills CHC SP 594.2 0.5 5.89 531 0.05
Jackson Kowar KCR SP 594.2 0.5 4.49 548 0.05
Kevin Pillar LAD OF 594.3 0.5 2.02 578 0.03
Robinson Chirinos BAL C 594.4 0.7 1.86 480 0.14
Dan Straily ARI SP 594.6 0.0 NA 976 0.00
Victor Reyes DET OF 594.6 0.4 2.09 643 0.01
Austin Barnes LAD C 594.7 0.8 1.31 437 0.16
Donovan Solano CIN 2B 594.8 0.4 1.87 628 0.04
Jake Meyers HOU OF 595.0 1.1 3.74 358 0.20
Jason Heyward CHC OF 595.0 0.9 2.28 422 0.11
Génesis Cabrera STL RP 595.1 0.6 3.43 497 0.57
Stephen Piscotty OAK OF 595.3 -0.2 2.04 1155 -0.01
William Contreras ATL C 595.4 0.2 0.42 825 0.02
Albert Pujols STL 1B 595.5 -0.4 1.40 1166 0.00
Robert Stephenson COL RP 595.8 0.0 3.48 1022 -0.11
A.J. Alexy TEX SP 596.0 0.7 5.20 451 0.09
Mike Mayers LAA RP 596.0 0.5 4.15 557 0.50
Brent Honeywell Jr. OAK RP 596.1 0.1 NA 840 -0.11
Aaron Loup LAA RP 596.2 0.3 2.05 645 0.21
Christian Arroyo BOS 2B 596.2 0.3 1.58 698 0.03
Lucas Gilbreath COL RP 596.4 0.0 2.98 1008 -0.11
Mauricio Dubón SFG OF,Oth 596.5 0.4 1.02 638 0.03
Travis Swaggerty 0 OF 596.5 0.4 NA 642 0.03
Kwang Hyun Kim NA SP 596.6 0.3 2.60 671 0.02
Khalil Lee 0 OF 596.7 -0.1 NA 1130 -0.01
Nick Fortes 0 C 596.7 0.3 NA 714 0.02
David Peterson NYM SP 596.8 0.7 4.47 458 0.09
Aaron Bummer CHW RP 596.9 1.1 4.30 342 0.89
Kelvin Gutierrez BAL 3B 597.0 0.2 1.79 810 0.02
Yu Chang CLE IF 597.0 0.4 1.82 644 0.02
Phil Gosselin 0 OF 597.1 -0.1 0.47 1133 -0.01
Hansel Robles NA RP 597.2 -0.1 4.02 1093 -0.10
Charlie Culberson 0 OF,Oth 597.2 0.0 0.95 1044 -0.02
Martín Pérez TEX SP 597.3 0.8 5.48 435 0.10
Aníbal Sánchez WSN SP 597.4 0.1 NA 833 0.00
Carlos Martínez SFG SP 597.4 0.0 2.24 972 0.00
Griffin Canning LAA SP 597.5 0.5 4.21 546 0.06
Spencer Strider ATL SP 597.5 0.2 NA 784 0.02
Jake Burger CHW 3B 597.5 0.2 NA 806 0.01
Adam Engel CHW OF 597.6 0.6 3.28 513 0.06
Matt Carpenter 0 3B 597.6 0.0 0.60 1063 0.00
Matt Thaiss LAA IF 597.6 0.1 NA 947 -0.01
Jeurys Familia PHI RP 597.7 0.3 3.93 664 0.16
Bryan Shaw CLE RP 597.8 -0.1 2.72 1085 -0.08
Greg Holland TEX RP 597.8 0.0 2.45 984 -0.11
Seranthony Domínguez PHI RP 597.8 0.2 NA 783 0.09
Spencer Patton TEX RP 597.8 0.1 3.19 903 -0.09
Andrew Stevenson WSN OF 597.8 -0.1 1.49 1118 -0.01
J.A. Happ NA SP 598.0 0.5 5.21 547 0.05
Alex Dickerson ATL OF 598.0 0.2 2.33 798 0.00
Miguel Andújar NYY OF 598.0 0.0 0.66 1068 -0.02
Zach McKinstry 0 OF,Oth 598.0 -0.2 0.91 1156 -0.01
Kevin Newman PIT SS 598.1 0.6 2.34 519 0.04
Mike Brosseau MIL IF 598.1 0.5 1.55 581 0.05
Garrett Richards TEX RP 598.2 0.4 3.84 594 0.28
Sammy Long SFG SP 598.2 0.2 2.80 781 0.02
Tanner Scott BAL RP 598.2 0.7 4.39 465 0.65
Anthony Bass MIA RP 598.4 0.1 2.61 834 -0.08
J.P. Feyereisen TBR RP 598.4 -0.1 3.19 1097 -0.09
Seby Zavala CHW C 598.5 -0.1 0.95 1135 0.00
Luke Jackson ATL RP 598.6 0.4 2.72 608 0.26
Ryne Stanek HOU RP 598.6 0.2 3.82 779 0.02
Wil Crowe PIT SP 598.6 0.1 5.93 912 0.00
Brett Gardner 0 OF 598.6 0.5 1.75 569 0.04
Julian Fernández NA RP 598.7 0.0 NA 1001 -0.11
Paolo Espino WSN SP 598.7 0.2 3.95 776 0.01
Tony Santillan CIN RP 598.7 0.4 3.66 621 0.35
Tyler Gilbert ARI SP 598.7 0.3 2.02 690 0.03
Adam Ottavino NYM RP 598.8 0.2 4.90 729 0.03
Bruce Zimmermann BAL SP 598.8 1.3 7.20 301 0.23
Dylan Coleman KCR RP 598.9 0.5 NA 544 0.54
Seth Lugo NYM RP 598.9 0.4 4.27 620 0.37
Zack Collins CHW C 598.9 0.6 0.74 529 0.09
Colton Welker COL IF 599.0 0.2 NA 800 0.00
Michael Hermosillo CHC OF 599.0 0.3 NA 713 0.00
Steven Duggar SFG OF 599.0 0.7 3.08 482 0.08
Chris Archer MIN SP 599.1 0.6 NA 490 0.07
Will Harris WSN RP 599.1 0.3 NA 692 0.18
Brent Rooker MIN OF 599.1 0.3 1.56 695 0.00
Vince Velasquez CHW SP 599.2 0.2 3.29 791 0.01
Billy McKinney 0 OF 599.2 0.0 0.60 1043 -0.02
Kurt Suzuki LAA C 599.2 0.2 0.81 812 0.02
Craig Stammen SDP RP 599.3 0.4 2.62 589 0.29
Domingo Acevedo OAK RP 599.3 0.3 NA 658 0.16
Sean Doolittle WSN RP 599.3 0.1 2.94 898 -0.08
Touki Toussaint NA SP 599.3 0.1 1.83 906 0.00
Trevor Gott MIL RP 599.3 0.0 NA 1035 -0.11
Billy Hamilton 0 OF 599.3 -0.1 0.50 1119 -0.01
David Bote CHC IF 599.3 0.4 0.86 627 0.05
Daz Cameron 0 OF 599.3 0.1 0.88 926 -0.01
Jose Trevino TEX C 599.3 0.3 0.81 708 0.04
Andrew Knizner STL C 599.4 0.6 0.51 514 0.09
David Dahl MIL OF 599.4 0.0 0.26 1049 -0.02
Yonathan Daza COL OF 599.4 0.0 1.15 1080 -0.02
Cole Hamels NA SP 599.5 0.1 NA 845 0.00
Austin Allen OAK C 599.5 0.6 NA 515 0.10
A.J. Minter ATL RP 599.6 0.5 3.42 530 0.51
Alex Vesia LAD RP 599.6 0.3 3.07 647 0.20
Brad Wieck CHC RP 599.6 0.1 NA 838 -0.03
Jake Woodford STL SP 599.6 0.0 2.69 993 0.00
Matt Wisler TBR RP 599.6 0.4 3.69 610 0.25
Tim Mayza TOR RP 599.6 0.6 3.24 511 0.59
Renato Núñez 0 1B 599.6 0.1 0.60 952 -0.01
Justin Steele CHC SP 599.7 0.5 4.32 555 0.04
Trevor Richards TOR RP 599.7 0.4 3.57 623 0.32
Reese McGuire TOR C 599.7 0.2 0.42 819 0.02
Nick Sandlin CLE RP 599.8 0.5 2.51 559 0.49
Yohan Ramirez SEA RP 599.8 0.1 1.76 915 -0.09
Starlin Castro 0 IF 599.8 0.3 0.74 721 0.03
Tim Locastro NYY OF 599.8 0.1 0.68 958 -0.01
Cody Stashak MIN RP 599.9 0.5 NA 538 0.40
Deivi García NYY SP 599.9 0.1 NA 849 0.00
Jorge López BAL RP 599.9 0.3 3.24 666 0.21
Lewis Thorpe NA SP 599.9 0.3 NA 674 0.03
Scott Effross CHC RP 599.9 0.2 NA 782 0.06
Asdrúbal Cabrera CIN IF 599.9 0.1 1.38 919 0.00
Jason Castro HOU C 599.9 0.8 1.28 444 0.17
Clay Holmes NYY RP 600.0 0.6 3.36 491 0.58
Heath Hembree PIT RP 600.0 0.2 4.17 749 0.07
Justus Sheffield SEA SP 600.0 0.4 4.53 604 0.03
Keegan Akin BAL SP 600.0 0.9 6.02 403 0.13
Eli White TEX OF 600.0 0.1 0.84 931 -0.01
Harold Castro DET OF,Oth 600.0 -0.1 1.27 1124 -0.01
Luis Rengifo LAA 2B 600.0 0.3 0.76 712 0.04
Thairo Estrada SFG IF 600.0 0.7 2.18 484 0.05
Miguel Yajure PIT SP 600.1 0.1 NA 883 0.00
Sergio Alcántara ARI IF 600.1 0.3 0.98 718 0.02
D.L. Hall NA SP 600.2 0.4 NA 590 0.04
Sean Newcomb ATL RP 600.2 0.1 2.98 900 -0.06
Greg Allen PIT OF 600.2 0.3 NA 704 0.01
Max Schrock CIN OF 600.2 0.0 1.17 1064 -0.02
Griffin Jax MIN SP 600.3 0.0 3.06 985 0.00
José Leclerc TEX RP 600.3 0.2 NA 763 0.00
Kervin Castro SFG RP 600.3 0.2 NA 768 0.10
Jordan Luplow ARI OF 600.3 0.8 2.58 445 0.10
Josh VanMeter ARI OF,Oth 600.3 0.2 0.52 808 0.00
Nomar Mazara SDP OF 600.3 0.1 1.03 949 -0.01
Austin Voth WSN RP 600.4 0.0 3.80 968 -0.11
Deolis Guerra OAK RP 600.4 0.2 2.22 743 0.06
Josh Fleming TBR SP 600.4 0.6 5.07 503 0.07
Julio Teheran NA SP 600.4 -0.1 NA 1102 0.00
Nick Wittgren STL RP 600.4 0.1 3.07 887 -0.05
Phil Bickford LAD RP 600.4 0.4 2.60 612 0.26
Ryan Helsley STL RP 600.4 0.1 3.70 894 -0.03
Jose Rojas LAA OF 600.4 -0.2 0.70 1153 0.00
Ryan O'Hearn KCR 1B 600.4 0.0 0.77 1073 -0.01
Bailey Falter PHI RP 600.5 0.5 2.74 533 0.52
Drew VerHagen STL RP 600.5 0.2 NA 746 0.04
Hunter Harvey WSN RP 600.5 0.1 NA 860 -0.09
J.B. Bukauskas ARI RP 600.5 -0.1 NA 1096 -0.06
Jakob Junis SFG RP 600.5 0.2 3.24 751 0.02
José Álvarez SFG RP 600.5 0.1 1.24 874 -0.02
JT Chargois TBR RP 600.5 0.3 2.67 669 0.19
Sergio Romo SEA RP 600.5 0.1 2.95 902 -0.11
DJ Stewart BAL OF 600.5 0.5 1.76 572 0.02
Isan Díaz 0 IF 600.5 0.1 0.28 938 0.00
Jacob Nottingham BAL C 600.5 0.1 NA 940 0.01
Ryan Vilade 0 OF 600.5 -0.1 NA 1134 -0.01
Stephen Vogt OAK C 600.5 0.2 0.98 822 0.03
Willians Astudillo MIA IF 600.5 0.0 0.23 1079 -0.01
Austin Adams SDP RP 600.6 0.3 2.54 649 0.22
Brooks Raley TBR RP 600.6 0.3 3.11 650 0.14
Bryse Wilson PIT SP 600.6 0.5 5.65 535 0.05
Chris Martin CHC RP 600.6 0.4 2.62 587 0.27
Dauri Moreta CIN RP 600.6 0.1 NA 847 -0.03
Demarcus Evans NA RP 600.6 0.0 2.67 979 -0.11
Eli Morgan CLE SP 600.6 0.2 3.49 747 0.01
J.B. Wendelken ARI RP 600.6 0.2 3.81 750 0.04
Jake Cousins MIL RP 600.6 0.5 2.72 550 0.46
Joe Kelly CHW RP 600.6 0.4 2.31 597 0.36
Josh Taylor BOS RP 600.6 0.5 2.87 554 0.47
Kolby Allard TEX RP 600.6 0.3 2.45 670 0.13
Michael King NYY RP 600.6 0.5 2.38 556 0.50
Taylor Widener ARI RP 600.6 0.0 2.75 1033 -0.11
Zack Littell SFG RP 600.6 0.1 2.67 917 -0.04
Brian Goodwin 0 OF 600.6 0.1 1.22 921 -0.01
Cam Gallagher KCR C 600.6 0.3 0.46 697 0.05
Hanser Alberto LAD IF 600.6 0.3 1.03 705 0.02
Hoy Park PIT 2B 600.6 0.4 0.83 631 0.06
Jake Bauers CIN OF,Oth 600.6 -0.1 0.36 1125 -0.01
Marwin Gonzalez NYY IF 600.6 0.1 0.64 946 -0.01
Travis Shaw 0 3B 600.6 0.0 0.65 1078 0.00
Yonny Hernandez TEX 3B 600.6 0.3 0.56 726 0.03
Aaron Sanchez WSN SP 600.7 0.0 1.28 965 0.00
Adam Cimber TOR RP 600.7 0.3 1.97 646 0.19
Casey Sadler SEA RP 600.7 0.3 0.58 652 0.19
Connor Brogdon PHI RP 600.7 0.4 2.91 588 0.31
Erik Swanson SEA RP 600.7 0.3 1.66 660 0.14
Hirokazu Sawamura BOS RP 600.7 0.0 3.95 986 -0.11
Jake Brentz KCR RP 600.7 0.3 3.69 662 0.15
Joe Ross WSN SP 600.7 0.7 2.95 460 0.09
Louis Head MIA RP 600.7 0.3 1.23 676 0.12
Randy Dobnak MIN SP 600.7 0.5 2.62 562 0.04
Richard Bleier MIA RP 600.7 0.5 1.39 563 0.44
Aramis Garcia CIN C 600.7 0.0 0.35 1042 0.00
Geraldo Perdomo ARI SS 600.7 0.2 NA 804 0.01
TJ Friedl 0 OF 600.7 0.1 NA 959 -0.01
Archie Bradley LAA RP 600.8 0.2 3.33 733 0.03
Chad Kuhl COL SP 600.8 0.2 3.65 738 0.01
Colin Poche TBR RP 600.8 0.3 NA 654 0.21
Dillon Peters PIT SP 600.8 0.0 4.26 982 0.00
Dominic Leone SFG RP 600.8 0.1 2.56 850 -0.04
Jarlín García SFG RP 600.8 0.0 2.66 994 -0.11
Jharel Cotton MIN RP 600.8 0.1 1.76 868 -0.02
Josh Rogers WSN SP 600.8 -0.1 2.19 1101 0.00
Logan Allen CLE SP 600.8 0.0 2.68 1007 0.00
Peter Lambert COL SP 600.8 0.3 NA 682 0.03
Ryan Weathers SDP SP 600.8 0.2 2.33 778 0.02
Tyler Clippard NA RP 600.8 -0.2 1.97 1149 -0.03
Wily Peralta DET SP 600.8 0.1 1.66 913 0.00
Yonny Chirinos TBR SP 600.8 0.5 NA 566 0.05
Andrew Velazquez LAA SS 600.8 0.2 0.85 799 0.02
Chris Owings 0 IF 600.8 0.0 0.60 1045 -0.02
Estevan Florial 0 OF 600.8 0.1 NA 934 -0.01
Evan White SEA 1B 600.8 0.0 0.23 1052 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 803 0.00
Jahmai Jones 0 2B 600.8 0.0 0.25 1053 -0.01
Jake Rogers DET C 600.8 0.3 0.64 707 0.04
Johan Camargo PHI IF 600.8 0.4 NA 635 0.04
John Nogowski ATL 1B 600.8 0.0 0.25 1056 -0.01
José Peraza NYY IF 600.8 0.1 0.40 942 -0.01
Mickey Moniak PHI OF 600.8 0.0 NA 1067 -0.02
Orlando Arcia ATL SS 600.8 0.3 0.73 715 0.03
Owen Miller CLE IF 600.8 0.2 0.80 817 0.00
Shogo Akiyama CIN OF 600.8 0.0 0.63 1075 -0.02
Brett Anderson NA SP 600.9 0.5 2.76 534 0.05
Ethan Small MIL SP 600.9 0.3 NA 661 0.03
Joan Adon WSN SP 600.9 0.1 NA 869 0.00
Joely Rodríguez NYY RP 600.9 0.6 3.72 500 0.55
Jordan Balazovic NA SP 600.9 0.2 NA 762 0.01
Josh Sborz TEX RP 600.9 0.3 3.59 667 0.17
Miguel Castro NYM RP 600.9 0.1 2.81 882 -0.03
Phil Maton HOU RP 600.9 0.4 4.54 613 0.35
Sam Coonrod PHI RP 600.9 0.4 3.12 619 0.24
Steven Brault CHC SP 600.9 0.1 2.59 904 0.00
Tommy Kahnle LAD RP 600.9 0.2 NA 788 0.10
Adam Haseley CHW OF 600.9 -0.1 NA 1117 -0.01
Andrew Knapp CIN C 600.9 0.0 0.33 1040 0.00
Gabriel Arias CLE SS 600.9 0.4 NA 630 0.03
Isaac Paredes DET 3B 600.9 0.4 0.51 632 0.04
Jack Mayfield LAA IF 600.9 0.1 0.82 939 0.00
Lewis Brinson 0 OF 600.9 0.0 0.52 1060 -0.02
Mitch Moreland 0 1B 600.9 0.2 1.28 816 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.69 955 0.00
Taylor Trammell 0 OF 600.9 0.0 0.47 1076 -0.02
Tomás Nido NYM C 600.9 0.3 1.19 722 0.03
Wilson Ramos 0 C 600.9 0.3 0.58 725 0.05
Andre Jackson NA SP 601.0 0.1 NA 831 0.00
Anthony Gose CLE RP 601.0 -0.3 NA 1157 -0.01
Dillon Tate BAL RP 601.0 0.4 2.65 592 0.35
Grant Holmes OAK RP 601.0 -0.1 NA 1092 -0.11
Josh James NA RP 601.0 0.2 NA 765 0.08
Mike Foltynewicz NA SP 601.0 -0.1 2.96 1107 0.00
Noé Ramirez ARI RP 601.0 0.1 1.72 888 -0.09
Ryan Brasier BOS RP 601.0 0.0 NA 1024 -0.11
Ryan Rolison NA SP 601.0 0.3 NA 683 0.02
Trevor Williams NYM RP 601.0 0.2 3.22 790 0.01
Yusmeiro Petit NA RP 601.0 -0.3 2.16 1162 -0.02
Jake McCarthy ARI OF 601.0 0.0 2.23 1054 -0.02
Taylor Ward LAA OF 601.0 0.4 1.57 641 0.02
Aaron Fletcher PIT RP 999.0 0.0 NA 964 -0.11
Adam Morgan NA RP 999.0 0.1 2.25 828 -0.11
Adam Oller OAK SP 999.0 0.2 NA 728 0.01
Adrian Sampson CHC SP 999.0 -0.2 0.54 1137 0.00
Albert Abreu NYY RP 999.0 -0.1 2.85 1082 -0.10
Alex Claudio NYM RP 999.0 0.0 2.09 966 -0.11
Alex Lange DET RP 999.0 0.1 2.74 830 -0.02
Alexander Wells NA RP 999.0 0.2 2.86 731 0.10
Andres Machado WSN RP 999.0 -0.2 1.74 1138 -0.05
Andrew Miller NA RP 999.0 -0.1 1.97 1083 -0.07
Andrew Wantz LAA RP 999.0 0.4 3.57 584 0.26
Angel Perdomo NA RP 999.0 0.1 NA 832 -0.06
Anthony Banda PIT RP 999.0 -0.2 3.62 1139 -0.05
Anthony Misiewicz SEA RP 999.0 0.3 3.43 648 0.15
Ashton Goudeau COL RP 999.0 -0.2 1.16 1140 -0.03
Austin Davis BOS RP 999.0 0.2 2.66 734 0.09
Austin Pruitt NA RP 999.0 0.0 NA 967 -0.11
Austin Warren LAA RP 999.0 0.5 2.83 532 0.40
Ben Bowden COL RP 999.0 0.1 2.26 835 -0.08
Blake Parker NA RP 999.0 0.1 1.57 836 -0.09
Blake Taylor HOU RP 999.0 0.1 2.59 837 -0.02
Brad Brach ATL RP 999.0 -0.1 2.19 1084 -0.11
Brandon Bielak HOU RP 999.0 0.1 2.14 839 -0.02
Brandon Kintzler NA RP 999.0 0.0 2.16 969 -0.11
Brandon Workman NA RP 999.0 -0.2 1.77 1141 -0.05
Brett Martin TEX RP 999.0 0.4 2.58 586 0.27
Bryan Abreu HOU RP 999.0 0.1 1.93 841 -0.04
Bryan Garcia NA RP 999.0 -0.2 2.30 1142 -0.03
Buck Farmer NA RP 999.0 -0.1 1.81 1086 -0.06
Caleb Ferguson LAD RP 999.0 0.3 NA 651 0.22
Caleb Thielbar MIN RP 999.0 0.7 3.26 454 0.67
Cam Bedrosian PHI RP 999.0 0.0 0.96 971 -0.11
Charlie Barnes NA SP 999.0 0.1 1.88 842 0.00
Chase Anderson NA SP 999.0 0.0 0.91 973 0.00
Chasen Shreve NYM RP 999.0 -0.1 0.91 1087 -0.07
Chaz Roe NA RP 999.0 0.0 NA 974 -0.11
Chi Chi González NA SP 999.0 -0.3 3.27 1158 0.00
Chris Mazza TBR SP 999.0 0.2 1.04 739 0.01
Cionel Pérez BAL RP 999.0 0.5 3.12 537 0.41
Cody Ponce NA SP 999.0 0.1 2.31 843 0.00
Cody Poteet MIA RP 999.0 0.1 1.63 844 -0.11
Cory Abbott NA SP 999.0 0.0 NA 975 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 655 0.02
Dan Winkler TEX RP 999.0 -0.1 1.35 1088 -0.06
Daniel Norris CHC RP 999.0 0.2 3.62 741 0.02
Danny Coulombe MIN RP 999.0 0.1 1.47 846 -0.08
Darren O'Day ATL RP 999.0 0.0 NA 977 -0.11
Darwinzon Hernandez BOS RP 999.0 0.3 3.06 657 0.11
David Phelps TOR RP 999.0 0.1 NA 848 -0.06
Dean Kremer BAL SP 999.0 0.5 3.94 542 0.06
Dellin Betances NA RP 999.0 0.0 NA 978 -0.11
Dennis Santana TEX RP 999.0 0.0 2.40 980 -0.11
Derek Holland BOS RP 999.0 -0.1 2.04 1089 -0.07
Devin Smeltzer MIN SP 999.0 0.2 NA 744 0.02
Dillon Maples NA RP 999.0 0.0 0.84 981 -0.11
Domingo Tapia KCR RP 999.0 -0.1 1.84 1090 -0.09
Drew Smith NYM RP 999.0 0.2 2.24 745 0.01
Duane Underwood Jr. PIT RP 999.0 0.1 2.84 852 -0.11
Enyel De Los Santos CLE RP 999.0 0.1 2.10 854 -0.01
Erasmo Ramírez NA RP 999.0 -0.3 0.87 1159 -0.02
Eric Hanhold NA RP 999.0 -0.1 NA 1091 -0.06
Ervin Santana NA RP 999.0 -0.4 1.67 1164 0.00
Evan Phillips LAD RP 999.0 0.1 NA 855 -0.07
Fernando Abad NA RP 999.0 0.0 NA 983 -0.11
Francisco Perez WSN RP 999.0 0.1 NA 856 -0.02
Gabe Speier KCR RP 999.0 0.2 NA 748 0.09
Hans Crouse NA SP 999.0 0.1 NA 857 0.00
Hoby Milner MIL RP 999.0 0.1 1.47 858 -0.08
Humberto Castellanos ARI SP 999.0 0.1 1.24 859 0.00
Ian Gibaut CLE RP 999.0 0.0 NA 987 -0.11
Ian Krol SDP RP 999.0 0.0 NA 988 -0.11
Isaac Mattson BAL RP 999.0 0.0 NA 989 -0.11
J.C. Mejía MIL RP 999.0 0.0 3.73 990 -0.11
Jace Fry WSN RP 999.0 0.1 NA 861 -0.05
Jacob Barnes DET RP 999.0 0.1 2.00 862 -0.05
Jacob Webb NA RP 999.0 0.0 2.38 991 -0.11
Jaime Barría LAA SP 999.0 0.5 4.05 549 0.04
Jake Arrieta NA SP 999.0 0.0 2.59 992 0.00
Jake Reed NYM RP 999.0 0.1 NA 863 -0.06
Jalen Beeks TBR RP 999.0 0.2 NA 752 0.04
Jandel Gustave MIL RP 999.0 0.1 NA 864 -0.04
Janson Junk LAA SP 999.0 0.1 NA 865 0.00
Jason Foley DET RP 999.0 -0.1 NA 1098 -0.08
Javy Guerra SDP RP 999.0 0.2 NA 753 0.04
Jay Jackson ATL RP 999.0 0.1 2.40 866 -0.07
JD Hammer COL RP 999.0 0.1 1.83 867 -0.08
Jeff Hoffman CIN RP 999.0 0.0 3.65 995 -0.11
Jeffrey Springs TBR RP 999.0 0.3 2.60 663 0.17
Jerad Eickhoff PIT RP 999.0 -0.1 NA 1099 -0.09
Jesse Chavez NA RP 999.0 0.0 1.94 996 -0.11
Jesse Hahn NA RP 999.0 -0.2 NA 1143 -0.04
Jhonathan Diaz NA RP 999.0 0.2 NA 754 0.08
Jhoulys Chacín COL RP 999.0 -0.4 2.30 1165 0.00
Jimmy Herget LAA RP 999.0 0.0 NA 997 -0.11
Jimmy Lambert NA SP 999.0 0.2 NA 755 0.01
Joe Jiménez DET RP 999.0 0.2 3.91 757 0.07
Joe Mantiply ARI RP 999.0 0.2 1.90 758 0.03
Joe Smith MIN RP 999.0 0.1 2.71 870 -0.01
Joel Payamps KCR RP 999.0 0.3 1.18 665 0.12
Joey Krehbiel BAL RP 999.0 0.0 NA 998 -0.11
Johan Oviedo NA SP 999.0 0.2 2.50 759 0.01
John Brebbia SFG RP 999.0 0.1 NA 871 -0.04
John King TEX RP 999.0 0.5 2.93 552 0.53
Jon Heasley KCR SP 999.0 0.2 NA 761 0.01
Jonathan Hernández TEX RP 999.0 0.1 NA 872 -0.03
Jonathan Holder CHC RP 999.0 0.0 NA 999 -0.11
Jonathan Stiever CHW SP 999.0 0.1 NA 873 0.00
Jordan Holloway NA RP 999.0 -0.1 1.87 1100 -0.08
Jordan Sheffield COL RP 999.0 -0.2 1.18 1144 -0.05
José Cisnero DET RP 999.0 0.4 3.99 600 0.24
José Quijada LAA RP 999.0 0.5 2.92 553 0.53
José Ruiz CHW RP 999.0 0.2 1.34 764 0.00
José Ureña MIL SP 999.0 0.0 2.53 1000 0.00
Josh Tomlin NA RP 999.0 -0.3 2.61 1160 -0.01
Josh Winder MIN SP 999.0 0.4 NA 602 0.04
Jovani Moran MIN RP 999.0 0.3 NA 668 0.20
Juan Minaya MIN RP 999.0 0.1 1.61 875 -0.08
Junior Fernández NA RP 999.0 0.1 1.23 876 -0.10
Junior Guerra NA RP 999.0 -0.1 2.16 1103 -0.11
Justin Anderson TEX RP 999.0 0.0 NA 1002 -0.11
Justin Bruihl LAD RP 999.0 0.2 NA 767 0.01
Justin Garza CLE RP 999.0 -0.1 1.71 1104 -0.08
Justin Lawrence COL RP 999.0 0.0 NA 1003 -0.11
Justin Wilson CIN RP 999.0 0.1 2.81 877 -0.05
Keegan Thompson CHC RP 999.0 0.0 3.64 1004 -0.11
Keone Kela ARI RP 999.0 0.0 NA 1005 -0.11
Keynan Middleton NA RP 999.0 -0.1 1.40 1105 -0.08
Kirby Snead OAK RP 999.0 0.4 NA 607 0.30
Kodi Whitley STL RP 999.0 0.2 1.26 769 0.00
Kohei Arihara TEX SP 999.0 0.0 1.10 1006 0.00
Konnor Pilkington CLE RP 999.0 0.1 NA 878 -0.11
Kyle Bradish NA SP 999.0 0.3 NA 672 0.02
Kyle Funkhouser DET RP 999.0 0.1 3.87 879 -0.06
Kyle McGowin NA RP 999.0 0.2 1.73 771 0.07
Kyle Tyler NA RP 999.0 -0.2 NA 1145 -0.04
Kyle Zimmer NA RP 999.0 -0.2 2.55 1146 -0.04
MacKenzie Gore SDP SP 999.0 0.6 NA 504 0.07
Manuel Rodríguez CHC RP 999.0 0.1 NA 880 -0.02
Mason Thompson WSN RP 999.0 0.0 1.59 1009 -0.11
Matt Foster CHW RP 999.0 0.1 2.05 881 -0.03
Matt Harvey NA SP 999.0 0.3 2.33 678 0.03
Matt Moore TEX RP 999.0 -0.1 1.21 1106 -0.08
Matt Peacock ARI RP 999.0 0.0 1.17 1010 -0.11
Matt Shoemaker NA SP 999.0 0.0 1.75 1011 0.00
Matt Strahm BOS RP 999.0 0.2 NA 773 0.05
Max Kranick PIT SP 999.0 0.3 2.55 679 0.03
Michael Feliz BOS RP 999.0 0.0 1.74 1012 -0.11
Michael Rucker CHC RP 999.0 0.0 2.16 1013 -0.11
Miguel Del Pozo DET RP 999.0 0.2 NA 774 0.00
Miguel Sánchez MIL RP 999.0 0.0 1.64 1014 -0.11
Mike Baumann BAL RP 999.0 0.0 NA 1015 -0.11
Mike Fiers NA SP 999.0 -0.3 NA 1161 0.00
Nabil Crismatt SDP RP 999.0 0.0 2.11 1016 -0.11
Nick Margevicius SEA SP 999.0 0.2 NA 775 0.01
Nick Mears PIT RP 999.0 0.0 2.08 1017 -0.11
Nick Neidert NA RP 999.0 -0.2 1.13 1147 -0.04
Nick Nelson PHI RP 999.0 0.1 NA 885 -0.08
Nick Snyder TEX RP 999.0 0.1 NA 886 -0.07
Oliver Drake TBR RP 999.0 0.1 NA 889 -0.03
Oliver Pérez ARI RP 999.0 0.0 NA 1018 -0.11
Packy Naughton NA SP 999.0 0.3 1.77 680 0.03
Patrick Murphy WSN RP 999.0 0.3 2.90 681 0.23
Paul Blackburn OAK SP 999.0 0.2 1.66 777 0.01
Pedro Báez HOU RP 999.0 -0.2 NA 1148 -0.02
Peter Solomon HOU RP 999.0 0.1 NA 890 -0.10
Phillips Valdez BOS RP 999.0 -0.1 1.48 1108 -0.10
Rafael Dolis NA RP 999.0 0.0 3.41 1019 -0.11
Rafael Montero HOU RP 999.0 0.1 3.04 891 -0.07
Ralph Garza Jr. NA RP 999.0 -0.1 1.20 1109 -0.09
Rex Brothers MIL RP 999.0 0.0 1.42 1020 -0.11
Robert Gsellman CHC RP 999.0 -0.1 0.77 1110 -0.07
Rony García DET RP 999.0 -0.1 NA 1111 -0.07
Ross Detwiler NA RP 999.0 0.0 2.35 1023 -0.11
Ryan Borucki TOR RP 999.0 0.1 1.93 892 -0.01
Ryan Burr CHW RP 999.0 0.0 1.64 1025 -0.11
Ryan Feltner NA SP 999.0 0.1 NA 893 0.00
Ryan Hendrix CIN RP 999.0 0.0 2.91 1026 -0.11
Ryan Sherriff PHI RP 999.0 0.1 NA 895 -0.05
Ryan Thompson TBR RP 999.0 0.3 2.37 684 0.22
Ryne Harper NA RP 999.0 0.1 1.21 896 -0.09
Ryne Nelson ARI SP 999.0 0.1 NA 897 0.00
Sam Hentges CLE RP 999.0 0.3 4.19 685 0.11
Sam Howard PIT RP 999.0 0.2 3.39 780 0.09
Sam Moll OAK RP 999.0 0.0 NA 1027 -0.11
Sam Selman OAK RP 999.0 0.0 1.14 1028 -0.11
Scott Kazmir NA SP 999.0 -0.1 NA 1112 0.00
Sean Guenther MIA RP 999.0 0.1 1.32 899 -0.01
Sean Poppen ARI RP 999.0 0.3 2.57 686 0.13
Sean Reid-Foley NYM RP 999.0 0.1 2.64 901 -0.10
Steven Okert MIA RP 999.0 0.2 1.97 785 0.10
T.J. McFarland STL RP 999.0 0.2 1.46 786 -0.01
T.J. Zeuch NA RP 999.0 0.0 NA 1030 -0.11
Tanner Roark NA SP 999.0 0.0 NA 1031 0.00
Taylor Clarke KCR RP 999.0 0.0 2.49 1032 -0.11
Thomas Hatch NA RP 999.0 0.1 NA 905 -0.07
Tim Hill SDP RP 999.0 0.3 3.07 687 0.16
Tobias Myers CLE SP 999.0 0.3 NA 688 0.02
Tommy Hunter NA RP 999.0 0.0 NA 1034 -0.11
Tony Watson NA RP 999.0 -0.1 1.90 1113 -0.11
Trent Thornton TOR RP 999.0 0.1 1.99 907 -0.04
Trevor Cahill NA SP 999.0 0.2 1.77 789 0.01
Trevor Stephan CLE RP 999.0 0.1 3.66 908 -0.07
Trey Wingenter CIN RP 999.0 0.1 NA 909 -0.02
Tyler Kinley COL RP 999.0 0.1 2.89 910 -0.11
Tyler Thornburg ATL RP 999.0 -0.2 NA 1150 -0.03
Wade LeBlanc NA SP 999.0 0.1 1.24 911 0.00
Wander Suero NA RP 999.0 0.2 2.26 792 0.08
Wandy Peralta NYY RP 999.0 0.2 3.28 793 0.06
Yency Almonte LAD RP 999.0 -0.1 2.25 1114 -0.06
Yennsy Díaz NA RP 999.0 -0.1 1.10 1115 -0.06
Yoan López NA RP 999.0 0.0 NA 1037 -0.11
Zac Lowther BAL SP 999.0 0.9 7.66 411 0.14
Zach Logue NA SP 999.0 0.1 NA 916 0.00
Zach Pop MIA RP 999.0 0.2 2.70 795 0.01
Zack Burdi NA RP 999.0 -0.1 NA 1116 -0.09
Aaron Altherr 0 OF 999.0 0.1 NA 918 -0.01
Adam Eaton 0 OF 999.0 0.2 1.17 796 -0.01
Alan Trejo COL IF 999.0 0.0 0.28 1038 -0.01
Alex Blandino 0 IF 999.0 -0.2 0.33 1151 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 1039 -0.02
Austin Romine 0 C 999.0 0.1 0.22 920 0.01
Ben Rortvedt NYY C 999.0 1.0 1.13 384 0.22
Brennen Davis CHC OF 999.0 0.3 NA 694 0.01
Brock Holt ATL IF 999.0 -0.1 0.52 1120 -0.02
Chance Sisco 0 C 999.0 0.1 0.08 922 0.01
Christin Stewart BOS OF 999.0 0.0 NA 1046 -0.02
Cody Thomas 0 OF 999.0 -0.4 NA 1167 0.00
Cooper Hummel ARI C,Oth 999.0 0.3 NA 701 0.01
Curtis Terry MIN DH 999.0 0.2 NA 801 -0.01
Daniel Johnson CLE OF 999.0 0.0 0.55 1047 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 1048 -0.01
Danny Mendick CHW IF 999.0 0.1 0.56 924 0.00
Danny Santana 0 OF,Oth 999.0 0.1 1.02 925 -0.01
Delino DeShields MIA OF 999.0 0.1 0.35 927 -0.01
Derek Hill DET OF 999.0 0.1 1.20 928 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 1122 -0.02
Drew Ellis ARI 3B 999.0 0.1 0.33 929 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.43 930 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.66 932 0.01
Eric Sogard 0 2B 999.0 0.0 0.54 1051 -0.01
Ernie Clement CLE IF 999.0 0.2 0.53 802 0.00
Gilberto Celestino MIN OF 999.0 0.1 0.23 935 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.03 1123 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 937 -0.01
Jake Cave MIN OF 999.0 -0.1 0.69 1126 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.10 941 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 1152 -0.01
Jarrod Dyson 0 OF 999.0 -0.1 0.70 1127 -0.01
Joe Panik 0 2B 999.0 0.0 0.56 1055 -0.01
Jordy Mercer 0 SS 999.0 -0.1 0.35 1128 0.00
José Devers MIA IF 999.0 0.0 NA 1057 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 1129 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.51 1154 0.00
Juan Lagares 0 OF 999.0 0.1 0.78 943 -0.02
Khris Davis 0 OF 999.0 0.0 0.82 1058 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.64 1059 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 1131 -0.01
Luis Campusano SDP C 999.0 0.5 NA 579 0.07
Luis Guillorme NYM IF 999.0 0.2 0.49 814 0.01
Luke Maile CLE C 999.0 0.1 NA 944 0.00
Luke Raley TBR OF 999.0 0.1 0.25 945 -0.01
Luke Williams SFG OF 999.0 0.0 0.36 1061 -0.02
Magneuris Sierra LAA OF 999.0 -0.3 0.51 1163 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 1132 -0.01
Michael Perez PIT C 999.0 0.5 0.82 580 0.06
Micker Adolfo CHW OF 999.0 0.0 NA 1066 -0.02
Nick Allen 0 SS 999.0 0.1 NA 948 0.01
Nick Maton PHI IF 999.0 0.0 0.47 1069 -0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.44 950 -0.01
Patrick Mazeika 0 C 999.0 0.1 0.15 951 0.01
Payton Henry MIA C 999.0 0.2 NA 818 0.02
Richie Martin BAL SS 999.0 0.0 0.31 1070 0.00
Rob Refsnyder BOS OF 999.0 0.0 0.41 1071 -0.02
Rodolfo Castro 0 2B 999.0 0.1 0.48 953 0.00
Roman Quinn 0 OF 999.0 0.0 0.41 1072 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 954 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.32 956 -0.01
Sandy León CLE C 999.0 0.0 0.44 1074 0.00
Seiya Suzuki CHC DH 999.0 2.6 NA 116 0.64
Shed Long Jr. BAL OF,Oth 999.0 0.2 0.88 820 0.00
Sheldon Neuse OAK 2B 999.0 0.3 1.67 720 0.01
Skye Bolt OAK OF 999.0 0.2 0.34 821 0.00
Taylor Jones HOU 1B 999.0 0.1 0.38 957 -0.01
Travis Jankowski NYM OF 999.0 0.0 0.54 1077 -0.02
Tres Barrera WSN C 999.0 0.1 0.59 960 0.02
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 961 -0.01
Vimael Machín 0 IF 999.0 0.2 NA 824 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.78 1136 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 827 -0.01
Zach Reks 0 OF 999.0 0.0 NA 1081 -0.02
Zack Short 0 SS 999.0 0.1 0.29 963 0.01

Hitters by Position

My non-normalized model scores for a player are Model_Score.

Overall

Name Team Position ADP WAR Model_Score WAR_Rank Hitting_Rank Pos_Scarcity
Trea Turner LAD SS 1.3 5.6 8.09 5 6 0.96
José Ramírez CLE 3B 3.1 5.9 7.89 3 11 0.94
Juan Soto WSN OF 3.8 7.5 7.81 1 13 0.92
Bo Bichette TOR SS 4.6 4.7 8.26 12 3 0.89
Vladimir Guerrero Jr. TOR IF 5.0 5.6 8.31 6 1 0.88
Bryce Harper PHI OF 8.6 5.3 8.30 8 2 0.79
Shohei Ohtani LAA DH 8.9 4.0 7.93 33 10 0.73
Ronald Acuña Jr. ATL OF 12.0 5.1 7.04 10 30 0.75
Kyle Tucker HOU OF 12.4 4.6 7.78 16 15 0.71
Mike Trout LAA OF 13.0 6.5 7.35 2 23 0.94
Rafael Devers BOS 3B 14.2 4.8 8.02 11 7 0.84
Mookie Betts LAD OF 15.3 5.8 7.44 4 19 0.88
Luis Robert CHW OF 16.1 4.6 8.11 17 5 0.85
Ozzie Albies ATL 2B 17.8 4.1 6.97 31 33 0.88
Freddie Freeman LAD 1B 18.4 5.1 7.94 9 9 0.86
Manny Machado SDP 3B 22.7 4.6 7.37 18 22 0.79
Yordan Alvarez HOU DH 25.9 4.1 6.69 32 41 0.86
Teoscar Hernández TOR OF 27.5 2.2 7.86 112 12 0.40
Tim Anderson CHW SS 30.2 3.2 7.40 55 21 0.58
Salvador Perez KCR C 32.1 3.7 6.39 40 54 0.82
Starling Marte NYM OF 33.0 2.7 6.71 72 39 0.50
Whit Merrifield KCR OF,Oth 33.1 2.3 5.72 100 75 0.42
Cedric Mullins BAL OF 33.2 3.2 7.80 52 14 0.66
Trevor Story BOS SS 34.8 4.2 6.84 30 35 0.68
Aaron Judge NYY OF 36.4 5.3 7.28 7 25 0.84
Matt Olson ATL 1B 36.7 4.2 7.31 29 24 0.81
Marcus Semien TEX IF 39.0 4.6 8.24 19 4 0.85
Pete Alonso NYM 1B 45.3 3.5 7.17 44 28 0.76
Byron Buxton MIN OF 45.6 4.6 7.45 15 18 0.81
Xander Bogaerts BOS SS 45.7 4.5 7.02 23 31 0.82
Tyler O'Neill STL OF 47.2 2.8 7.22 68 26 0.64
Paul Goldschmidt STL 1B 47.5 3.5 7.73 43 16 0.72
Fernando Tatis Jr. SDP SS 47.7 3.4 4.45 45 139 0.63
J.T. Realmuto PHI C 49.3 3.8 6.08 35 64 0.86
Austin Riley ATL 3B 51.8 3.1 6.70 56 40 0.46
Will Smith LAD C 53.4 4.7 5.59 14 78 0.95
Francisco Lindor NYM SS 53.9 4.2 5.99 27 66 0.72
Adalberto Mondesi KCR SS 57.1 2.0 4.90 119 117 0.33
George Springer TOR OF 57.5 4.2 7.20 28 27 0.67
Wander Franco TBR SS 58.8 4.5 6.40 22 53 0.78
Nick Castellanos PHI OF 59.5 2.4 7.96 90 8 0.48
Javier Báez DET SS 62.4 2.8 6.81 67 37 0.53
Eloy Jiménez CHW OF 65.4 2.2 4.78 103 120 0.45
Randy Arozarena TBR OF 66.1 2.2 6.38 111 56 0.34
Nolan Arenado STL 3B 69.5 3.7 6.37 39 57 0.66
Jose Altuve HOU 2B 74.0 3.8 7.41 37 20 0.81
Kris Bryant COL OF,Oth 74.2 2.3 6.71 96 38 0.36
Brandon Lowe TBR 2B 76.9 4.4 7.01 24 32 0.92
Jorge Polanco MIN IF 77.8 3.1 7.50 58 17 0.56
Corey Seager TEX SS 78.2 4.5 6.61 21 43 0.75
Jazz Chisholm Jr. MIA IF 78.4 1.8 5.82 136 71 0.28
Ketel Marte ARI IF 78.4 3.7 6.52 38 47 0.65
José Abreu CHW 1B 79.0 2.1 6.83 116 36 0.46
Bobby Witt Jr. KCR SS 84.4 2.4 NA 87 -6 0.42
Alex Bregman HOU 3B 88.4 4.5 4.67 20 130 0.74
J.D. Martinez BOS OF 88.5 2.0 6.35 122 58 0.40
Tommy Edman STL 2B 91.2 2.3 5.20 99 96 0.54
Jonathan India CIN 2B 91.7 3.8 6.95 36 34 0.84
Daulton Varsho ARI C,Oth 92.8 2.2 4.33 102 143 0.37
Bryan Reynolds PIT OF 92.9 4.3 7.16 26 29 0.77
Giancarlo Stanton NYY OF 95.8 2.3 5.45 94 82 0.51
Christian Yelich MIL OF 97.8 2.9 4.85 63 118 0.59
Carlos Correa MIN SS 98.7 4.7 6.47 13 50 0.92
Yasmani Grandal CHW C 102.2 4.0 5.19 34 99 0.90
Cody Bellinger LAD OF 104.8 3.1 3.44 57 196 0.61
Mitch Haniger SEA OF 108.5 2.5 6.64 84 42 0.50
Willson Contreras CHC C 109.6 2.7 4.71 73 127 0.75
Kyle Schwarber PHI OF 110.8 2.7 6.42 71 52 0.61
Anthony Rendon LAA 3B 111.1 4.3 2.92 25 227 0.70
Jesse Winker SEA OF 116.2 3.3 6.48 48 49 0.74
Jared Walsh LAA 1B 119.2 2.2 6.54 106 46 0.52
Dansby Swanson ATL SS 120.5 2.7 6.49 70 48 0.49
Ryan Mountcastle BAL OF,Oth 120.7 1.6 6.14 164 63 0.26
Franmil Reyes CLE OF 121.8 1.9 6.18 130 60 0.32
Rhys Hoskins PHI OF,Oth 122.9 3.0 6.30 62 59 0.64
C.J. Cron COL 1B 123.2 1.7 6.04 147 65 0.32
DJ LeMahieu NYY IF 123.3 2.3 4.02 93 157 0.38
Willy Adames MIL SS 123.7 3.3 6.14 51 62 0.60
Max Muncy LAD IF 126.5 3.2 5.92 54 68 0.68
Jake Cronenworth SDP 2B 127.9 3.4 5.86 46 70 0.74
Myles Straw CLE OF 128.4 2.3 3.88 98 163 0.39
Josh Bell WSN 1B 129.3 1.9 5.86 133 69 0.44
Tyler Stephenson CIN C 137.4 2.9 4.18 65 149 0.78
Chris Taylor LAD OF,Oth 141.6 2.2 5.32 101 90 0.37
Joey Votto CIN 1B 142.1 1.9 6.54 132 45 0.41
Lourdes Gurriel Jr. TOR OF 144.1 1.3 5.59 195 77 0.23
Jarred Kelenic SEA OF 144.8 1.4 3.86 186 166 0.25
Ke'Bryan Hayes PIT 3B 145.1 3.3 4.12 50 153 0.53
Keibert Ruiz WSN C 145.1 2.2 2.91 108 229 0.65
Trent Grisham SDP OF 146.8 3.1 5.13 59 103 0.63
Austin Meadows TBR OF 149.0 1.5 5.32 168 89 0.25
Justin Turner LAD 3B 151.0 3.0 5.79 61 72 0.43
Akil Baddoo DET OF 156.3 1.6 5.02 158 111 0.29
Ty France SEA 1B 157.7 2.4 5.12 91 104 0.57
Yoán Moncada CHW 3B 158.1 3.4 5.09 47 108 0.59
Ryan McMahon COL IF 158.2 2.1 5.47 118 81 0.32
Gleyber Torres NYY IF 158.6 2.5 4.02 79 158 0.45
Mitch Garver TEX C 161.0 2.4 3.89 89 162 0.70
Hunter Renfroe MIL OF 161.3 1.7 5.94 150 67 0.31
Nelson Cruz WSN OF 167.6 1.4 5.75 188 73 0.16
Adolis García TEX OF 167.8 1.2 5.41 201 83 0.20
Dylan Carlson STL OF 168.0 2.5 5.20 78 97 0.43
Brendan Rodgers COL IF 168.8 1.6 5.10 160 106 0.23
Marcell Ozuna ATL OF 169.2 2.2 2.99 109 221 0.47
Alex Verdugo BOS OF 170.0 2.4 5.41 86 84 0.41
Avisaíl García MIA OF 171.1 2.3 6.39 92 55 0.44
Amed Rosario CLE SS 172.6 1.9 5.06 125 110 0.32
Matt Chapman TOR 3B 174.5 3.6 4.71 41 126 0.63
Joey Gallo NYY OF 178.7 3.5 5.72 42 74 0.64
Eddie Rosario ATL OF 180.0 0.9 4.70 248 129 0.14
Alex Kirilloff MIN OF,Oth 180.3 1.6 4.39 159 140 0.24
Josh Donaldson NYY 3B 182.8 3.3 4.59 49 134 0.56
Anthony Rizzo NYY 1B 187.4 2.1 5.48 114 80 0.49
Luis Urías MIL IF 190.2 2.5 5.27 81 91 0.41
Andrew Benintendi KCR OF 192.2 1.9 4.99 126 113 0.38
Robbie Grossman DET OF 192.2 1.7 4.76 155 123 0.29
Jorge Soler MIA OF 192.3 1.6 4.94 162 115 0.25
Kolten Wong MIL 2B 194.7 2.5 5.59 80 79 0.63
Eduardo Escobar NYM IF 202.3 1.9 5.59 129 76 0.30
Christian Vázquez BOS C 202.4 1.7 2.94 149 226 0.45
Eugenio Suárez SEA 3B 204.3 2.2 4.26 104 147 0.34
Jean Segura PHI IF 205.1 2.3 5.39 95 85 0.40
Trey Mancini BAL OF,Oth 208.7 1.4 4.78 191 121 0.21
Yuli Gurriel HOU 1B 209.5 1.4 4.74 192 124 0.19
Adley Rutschman BAL C 211.8 2.1 NA 113 -2 0.60
Oneil Cruz 0 SS 212.2 1.8 NA 142 -46 0.29
Adam Duvall ATL OF 214.6 1.7 5.02 143 112 0.27
Jonathan Schoop DET IF 215.4 1.7 5.24 151 94 0.37
Ian Happ CHC OF 219.1 2.1 5.25 115 93 0.35
Michael Conforto 0 OF 220.6 2.5 3.77 83 173 0.52
AJ Pollock LAD OF 220.9 1.8 5.20 134 95 0.33
Jo Adell LAA OF 221.0 0.6 4.36 296 141 0.04
Brandon Crawford SFG SS 222.5 2.7 6.46 69 51 0.51
Bobby Dalbec BOS 1B 223.3 1.7 4.92 146 116 0.35
Travis d'Arnaud ATL C 225.6 1.4 2.45 190 273 0.39
Enrique Hernández BOS OF,Oth 225.8 2.8 5.10 66 105 0.53
Elias Díaz COL C 226.5 1.3 3.27 194 204 0.35
Alejandro Kirk TOR C 226.8 1.8 2.71 135 251 0.49
Brandon Belt SFG 1B 233.8 2.5 6.14 77 61 0.61
Jesús Sánchez MIA OF 234.0 2.2 5.19 107 100 0.36
Luke Voit SDP 1B 236.8 1.3 3.82 196 169 0.17
Charlie Blackmon COL OF 237.3 0.6 4.84 294 119 0.06
Harrison Bader STL OF 239.4 2.9 4.65 64 132 0.55
Frank Schwindel CHC 1B 239.6 0.8 6.59 262 44 0.10
Gary Sánchez MIN C 242.4 1.1 2.95 221 223 0.24
Jonathan Villar CHC IF 242.5 1.2 4.05 204 155 0.13
Jeimer Candelario DET 3B 243.0 3.2 5.09 53 109 0.49
Josh Rojas ARI OF,Oth 246.8 1.5 4.36 172 142 0.27
Austin Hays BAL OF 247.4 1.7 5.34 145 87 0.28
Sean Murphy OAK C 248.3 2.5 3.07 85 218 0.72
Julio Rodríguez SEA OF 250.5 2.6 NA 74 -33 0.60
Ramón Laureano OAK OF 250.7 2.6 5.13 75 102 0.48
Nathaniel Lowe TEX 1B 251.1 1.8 5.16 139 101 0.39
Mike Zunino TBR C 251.6 2.0 3.96 124 159 0.58
Michael Brantley HOU OF 252.3 2.0 4.25 123 148 0.39
Nicky Lopez KCR IF 254.1 1.8 4.50 141 136 0.26
Omar Narváez MIL C 254.9 1.7 2.57 153 263 0.47
Tommy Pham CIN OF 257.9 1.7 4.16 156 151 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.05 202 156 0.21
Riley Greene DET OF 267.3 1.7 NA 154 -48 0.34
Miguel Sanó MIN IF 277.3 0.8 5.19 267 98 0.08
Joey Bart SFG C 277.8 0.9 NA 253 -27 0.21
Carson Kelly ARI C 281.3 1.9 2.69 128 254 0.53
Mark Canha NYM OF 282.7 1.7 5.38 152 86 0.35
Gavin Lux LAD IF 283.6 1.5 3.11 170 215 0.19
Lane Thomas WSN OF 285.4 1.1 3.55 226 188 0.16
Mike Yastrzemski SFG OF 291.1 2.2 5.33 110 88 0.38
Andrés Giménez CLE IF 291.8 1.7 3.20 144 212 0.24
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.08 161 154 0.21
Wil Myers SDP OF 294.5 1.1 4.66 229 131 0.18
Max Kepler MIN OF 295.3 2.5 5.26 82 92 0.45
Raimel Tapia TOR OF 297.2 0.3 3.61 366 183 0.02
Max Stassi LAA C 300.6 1.8 3.13 138 214 0.51
Jesús Aguilar MIA 1B 304.3 1.1 3.87 223 165 0.14
Anthony Santander BAL OF 305.1 1.3 4.15 193 152 0.21
Eric Haase DET C 313.9 0.7 3.15 277 213 0.12
Jeff McNeil NYM OF,Oth 314.1 1.9 3.56 131 187 0.38
Gio Urshela MIN 3B 320.0 1.4 3.48 184 192 0.14
Garrett Hampson COL OF,Oth 322.9 0.3 2.72 353 248 0.01
Yadier Molina STL C 324.2 1.2 2.77 216 240 0.27
Cavan Biggio TOR 2B 325.7 1.4 2.79 180 239 0.20
Andrew McCutchen MIL OF 327.4 0.9 4.70 243 128 0.12
Alec Bohm PHI 3B 328.8 1.4 3.33 178 201 0.19
Brandon Nimmo NYM OF 331.0 3.0 4.57 60 135 0.58
Connor Joe COL OF,Oth 345.9 0.7 3.25 276 205 0.07
Ha-Seong Kim SDP IF 348.4 1.5 2.84 171 232 0.20
Randal Grichuk COL OF 349.8 0.6 4.30 305 145 0.05
Rowdy Tellez MIL 1B 355.5 0.8 3.02 269 220 0.12
Nick Madrigal CHC 2B 358.8 1.8 3.61 140 184 0.41
Rafael Ortega CHC OF 363.8 0.9 4.27 257 146 0.11
Abraham Toro SEA IF 364.9 1.4 2.75 177 244 0.16
Tyler Naquin CIN OF 366.3 0.7 5.10 289 107 0.09
Patrick Wisdom CHC 3B 369.7 1.3 4.78 197 122 0.13
Luis Arraez MIN IF 372.3 1.5 3.71 174 176 0.22
LaMonte Wade Jr. SFG OF 373.7 1.0 4.98 236 114 0.13
Austin Nola SDP C,Oth 379.5 1.4 1.98 179 299 0.21
James McCann NYM C 382.9 1.4 2.23 185 284 0.37
Mike Moustakas CIN IF 383.4 0.9 2.47 255 270 0.10
Nick Senzel CIN OF 390.4 1.0 2.54 237 267 0.15
Josh Harrison CHW 2B 397.7 1.2 3.70 207 178 0.15
Danny Jansen TOR C 400.1 2.0 3.39 121 197 0.55
César Hernández WSN 2B 414.5 1.7 4.49 148 137 0.37
Adam Frazier SEA OF,Oth 415.1 2.0 4.73 120 125 0.41
Manuel Margot TBR OF 418.2 1.1 3.65 227 181 0.16
Vidal Bruján 0 OF,Oth 422.0 0.8 NA 271 -58 0.10
Joey Wendle MIA IF 426.3 1.4 4.46 187 138 0.17
David Fletcher LAA 2B 430.3 1.4 3.85 181 167 0.21
Brandon Marsh LAA OF 432.3 1.1 2.70 217 252 0.19
Keston Hiura MIL 2B 432.5 0.2 1.77 393 312 0.01
Kyle Lewis SEA OF 439.2 1.2 2.65 209 256 0.21
Jacob Stallings MIA C 447.4 2.2 2.19 105 287 0.67
Jeremy Peña HOU SS 451.0 1.8 NA 137 -26 0.25
Jorge Mateo BAL OF,Oth 455.6 0.5 2.76 317 242 0.04
Luis Torrens SEA C 455.6 0.7 2.24 281 283 0.08
Dominic Smith NYM OF,Oth 458.7 0.5 2.51 315 269 0.04
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 2.69 377 253 0.02
Tony Kemp OAK OF,Oth 461.7 1.6 4.18 165 150 0.28
Hunter Dozier KCR OF,Oth 462.3 0.6 3.34 295 200 0.05
Jorge Alfaro SDP C 464.6 0.2 1.97 389 300 0.03
Yan Gomes CHC C 465.9 1.5 2.47 176 272 0.42
MJ Melendez KCR C 466.1 0.5 NA 323 -43 0.06
Willie Calhoun TEX OF 470.0 0.2 2.73 408 247 0.00
Josh Lowe TBR OF 472.9 0.3 NA 359 -31 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 3.83 246 168 0.13
J.P. Crawford SEA SS 478.9 2.4 3.88 88 164 0.44
Wilmer Flores SFG 2B 479.1 1.3 3.67 200 179 0.16
Evan Longoria SFG 3B 480.2 1.4 3.94 183 161 0.20
Lorenzo Cain MIL OF 480.7 1.5 3.79 173 171 0.26
Victor Robles WSN OF 484.0 1.0 2.53 240 268 0.16
Yandy Díaz TBR IF 484.0 1.6 3.44 166 195 0.26
Eric Hosmer SDP 1B 484.9 0.4 3.70 327 177 0.02
Tucker Barnhart DET C 486.8 1.3 1.90 199 304 0.33
Joc Pederson SFG OF 491.3 0.9 3.81 252 170 0.11
Miguel Rojas MIA SS 492.7 2.3 4.32 97 144 0.38
Ryan Jeffers MIN C 492.9 1.6 2.57 163 264 0.43
Sam Hilliard COL OF 495.5 0.4 3.78 338 172 0.02
Pavin Smith ARI OF,Oth 497.3 0.7 3.53 283 190 0.06
Paul DeJong STL SS 498.0 2.1 3.77 117 174 0.35
Clint Frazier CHC OF 499.5 0.3 1.76 350 315 0.01
Bryson Stott PHI SS 501.8 1.0 NA 233 -8 0.08
Seth Brown OAK OF 507.5 0.7 4.64 285 133 0.08
Nick Solak TEX 2B 508.6 0.6 2.60 303 259 0.08
Brian Anderson MIA OF,Oth 510.8 1.9 3.23 127 207 0.28
Francisco Mejía TBR C 511.4 1.2 2.10 203 291 0.31
Bobby Bradley CLE 1B 511.6 0.5 3.54 309 189 0.03
Chas McCormick HOU OF 511.8 1.1 3.22 218 209 0.20
Jarren Duran 0 OF 512.4 0.4 1.92 331 303 0.03
Bradley Zimmer CLE OF 516.3 0.7 2.98 272 222 0.07
Christian Walker ARI 1B 518.5 0.7 3.22 275 208 0.08
Rougned Odor BAL 2B 518.5 0.6 2.86 306 230 0.09
Jose Barrero CIN SS 518.7 1.2 1.61 205 325 0.11
Tyler Wade LAA IF 519.7 0.3 1.74 373 317 0.03
Edmundo Sosa STL IF 520.2 1.4 2.83 182 234 0.16
Nico Hoerner CHC IF 523.5 1.4 2.64 189 257 0.15
J.D. Davis NYM OF,Oth 524.0 0.9 2.30 250 280 0.09
Carlos Santana KCR 1B 524.8 0.7 3.25 274 206 0.09
David Peralta ARI OF 525.8 1.1 3.57 219 185 0.18
Didi Gregorius PHI SS 526.4 0.9 2.84 247 233 0.06
Aaron Hicks NYY OF 527.0 1.6 1.93 157 301 0.27
Gavin Sheets CHW OF 527.5 0.8 3.66 263 180 0.09
Dylan Moore SEA OF,Oth 527.8 0.5 1.57 316 330 0.05
Kyle Farmer CIN SS 528.8 1.1 3.31 225 202 0.10
Pedro Severino MIL C 532.5 0.9 1.59 256 326 0.20
Garrett Cooper MIA OF,Oth 532.8 1.1 3.94 220 160 0.16
Michael A. Taylor KCR OF 533.0 1.2 3.35 212 198 0.21
Robinson Canó NYM 2B 533.8 0.3 NA 367 -49 0.03
Kole Calhoun TEX OF 534.0 1.1 2.71 224 250 0.17
CJ Abrams SDP SS 534.7 0.3 NA 349 -10 0.02
Kevin Smith OAK 3B 535.0 1.0 NA 234 -34 0.12
Jake Fraley CIN OF 537.7 0.8 2.81 264 236 0.10
José Iglesias COL SS 537.8 1.2 3.52 206 191 0.14
Tyrone Taylor MIL OF 538.7 1.0 3.04 239 219 0.15
Ramón Urías BAL IF 539.1 1.5 3.35 175 199 0.18
Steven Kwan CLE OF 542.4 0.7 NA 287 -54 0.09
Brad Miller TEX IF 544.0 1.5 3.61 169 182 0.17
Kyle Higashioka NYY C 544.1 1.0 1.71 235 319 0.23
Tom Murphy SEA C 545.2 1.2 1.51 214 333 0.30
Jurickson Profar SDP OF,Oth 549.6 0.3 2.73 360 246 0.02
Leury García CHW OF 550.7 0.6 2.85 300 231 0.07
Miguel Cabrera DET DH 550.7 -0.4 2.74 529 245 0.00
Bryan De La Cruz 0 OF 551.7 0.7 2.04 273 295 0.07
Seth Beer ARI 1B 553.5 0.3 NA 369 -53 0.01
Jonah Heim TEX C 553.7 0.9 1.24 254 347 0.19
Kyle Isbel KCR OF 555.4 0.6 2.55 298 265 0.03
Roberto Pérez PIT C 555.5 1.3 2.22 198 286 0.34
Andy Ibáñez TEX 2B 559.2 1.5 2.75 167 243 0.28
Anthony Alford PIT OF 564.0 0.0 2.68 459 255 -0.02
Carter Kieboom WSN 3B 564.7 0.8 1.67 260 322 0.09
Tommy La Stella SFG 2B 565.3 1.2 2.94 215 225 0.14
Cristian Pache OAK OF 567.8 0.8 1.36 261 340 0.10
Justin Upton LAA OF 568.0 0.2 2.72 391 249 0.00
Martín Maldonado HOU C 568.5 1.2 2.03 211 296 0.26
Elvis Andrus OAK SS 568.8 0.9 2.79 249 237 0.06
Santiago Espinal TOR 3B 570.5 0.8 2.55 270 266 0.07
Alek Thomas ARI OF 572.3 0.9 NA 242 -3 0.13
Trevor Larnach MIN OF 573.0 0.2 1.93 405 302 0.00
Luis García WSN 2B 573.8 0.7 2.59 280 260 0.09
Niko Goodrum HOU SS 574.0 0.7 2.26 282 282 0.05
Cal Raleigh SEA C 574.1 0.8 0.54 259 417 0.15
Chad Pinder OAK OF 574.5 0.5 2.92 311 228 0.03
Willi Castro DET IF 574.6 0.3 1.03 374 363 0.01
Matt Vierling PHI OF,Oth 575.2 0.6 2.37 302 275 0.05
Manny Piña ATL C 576.2 1.2 1.83 210 308 0.28
Corey Dickerson STL OF 578.0 0.1 2.47 415 271 -0.01
Edward Olivares KCR OF 578.0 0.3 1.18 352 352 0.00
Lars Nootbaar STL OF 578.1 0.2 2.32 395 279 -0.01
Austin Slater SFG OF 578.3 1.0 2.82 231 235 0.14
Jose Siri HOU OF 578.9 0.4 NA 335 -30 0.01
Colin Moran CIN IF 579.3 -0.1 2.79 504 238 -0.01
Aledmys Díaz HOU IF 580.0 0.9 2.14 241 290 0.07
Michael Chavis PIT IF 580.6 0.0 2.63 483 258 -0.01
Ji-Man Choi TBR 1B 580.7 0.7 3.21 278 211 0.07
Jon Berti MIA OF,Oth 581.0 0.4 1.11 334 358 0.03
Ben Gamel PIT OF 581.3 0.9 3.45 244 194 0.12
Jace Peterson MIL OF,Oth 583.0 0.3 1.68 356 321 0.01
Leody Taveras 0 OF 583.8 0.6 1.10 299 360 0.06
Kevin Plawecki BOS C 584.0 0.7 1.13 279 357 0.13
Josh Naylor CLE OF 584.5 0.5 2.76 318 241 0.03
Harold Ramirez TBR OF 584.7 0.1 1.29 428 342 -0.01
Austin Hedges CLE C 586.2 0.5 1.80 308 310 0.08
Victor Caratini SDP C 586.3 0.7 1.04 290 361 0.11
Matt Duffy LAA 3B 587.0 0.6 2.03 301 297 0.06
Jackie Bradley Jr. BOS OF 587.3 0.2 1.70 387 320 0.00
Odúbel Herrera PHI OF 587.5 1.0 3.46 238 193 0.14
Daniel Vogelbach PIT 1B 587.6 0.5 2.16 312 289 0.04
Maikel Franco WSN 3B 587.7 0.0 1.00 480 368 0.00
Cole Tucker PIT OF,Oth 588.0 0.4 1.86 324 306 0.03
Jed Lowrie OAK IF 588.3 0.4 2.58 332 261 0.04
Nick Gordon MIN OF 588.3 0.4 1.28 337 345 0.01
Alcides Escobar WSN SS 588.5 0.2 3.57 379 186 0.01
Nick Ahmed ARI SS 588.6 1.1 2.95 228 224 0.09
Dom Nuñez COL C 588.8 0.5 1.72 314 318 0.07
Aristides Aquino CIN OF 589.0 0.3 2.34 343 276 0.01
Andrelton Simmons CHC SS 589.7 1.0 1.45 230 335 0.08
Kevin Kiermaier TBR OF 590.4 1.2 3.21 208 210 0.22
Yadiel Hernandez WSN OF 590.4 0.1 3.09 454 216 -0.01
Lewin Díaz 0 1B 590.8 0.3 1.58 361 327 0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.08 397 293 0.00
Brett Phillips TBR OF 592.3 0.3 1.76 346 313 0.00
Curt Casali SFG C 592.4 0.9 1.22 245 349 0.18
Taylor Walls TBR SS 592.7 1.2 1.65 213 324 0.12
Edwin Ríos LAD IF 592.8 0.0 0.11 468 466 -0.01
Eric Thames OAK OF,Oth 593.2 0.1 NA 425 -16 -0.01
Oscar Mercado CLE OF 593.9 0.6 2.43 304 274 0.04
Riley Adams WSN C 593.9 0.8 1.41 268 337 0.15
Kevin Pillar LAD OF 594.3 0.5 2.02 319 298 0.03
Robinson Chirinos BAL C 594.4 0.7 1.86 284 307 0.14
Victor Reyes DET OF 594.6 0.4 2.09 341 292 0.01
Austin Barnes LAD C 594.7 0.8 1.31 258 341 0.16
Donovan Solano CIN 2B 594.8 0.4 1.87 326 305 0.04
Jake Meyers HOU OF 595.0 1.1 3.74 222 175 0.20
Jason Heyward CHC OF 595.0 0.9 2.28 251 281 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.04 524 294 -0.01
William Contreras ATL C 595.4 0.2 0.42 407 436 0.02
Albert Pujols STL 1B 595.5 -0.4 1.40 527 338 0.00
Christian Arroyo BOS 2B 596.2 0.3 1.58 348 328 0.03
Mauricio Dubón SFG OF,Oth 596.5 0.4 1.02 336 367 0.03
Travis Swaggerty 0 OF 596.5 0.4 NA 340 -56 0.03
Khalil Lee 0 OF 596.7 -0.1 NA 513 -35 -0.01
Nick Fortes 0 C 596.7 0.3 NA 364 -45 0.02
Kelvin Gutierrez BAL 3B 597.0 0.2 1.79 392 311 0.02
Yu Chang CLE IF 597.0 0.4 1.82 342 309 0.02
Phil Gosselin 0 OF 597.1 -0.1 0.47 516 431 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 0.95 462 372 -0.02
Jake Burger CHW 3B 597.5 0.2 NA 388 -24 0.01
Adam Engel CHW OF 597.6 0.6 3.28 291 203 0.06
Matt Carpenter 0 3B 597.6 0.0 0.60 481 407 0.00
Matt Thaiss LAA IF 597.6 0.1 NA 439 -39 -0.01
Andrew Stevenson WSN OF 597.8 -0.1 1.49 501 334 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.33 380 278 0.00
Miguel Andújar NYY OF 598.0 0.0 0.66 486 399 -0.02
Zach McKinstry 0 OF,Oth 598.0 -0.2 0.91 525 373 -0.01
Kevin Newman PIT SS 598.1 0.6 2.34 297 277 0.04
Mike Brosseau MIL IF 598.1 0.5 1.55 322 332 0.05
Seby Zavala CHW C 598.5 -0.1 0.95 518 371 0.00
Brett Gardner 0 OF 598.6 0.5 1.75 310 316 0.04
Zack Collins CHW C 598.9 0.6 0.74 307 391 0.09
Colton Welker COL IF 599.0 0.2 NA 382 -12 0.00
Michael Hermosillo CHC OF 599.0 0.3 NA 363 -40 0.00
Steven Duggar SFG OF 599.0 0.7 3.08 286 217 0.08
Brent Rooker MIN OF 599.1 0.3 1.56 345 331 0.00
Billy McKinney 0 OF 599.2 0.0 0.60 461 405 -0.02
Kurt Suzuki LAA C 599.2 0.2 0.81 394 383 0.02
Billy Hamilton 0 OF 599.3 -0.1 0.50 502 426 -0.01
David Bote CHC IF 599.3 0.4 0.86 325 376 0.05
Daz Cameron 0 OF 599.3 0.1 0.88 418 375 -0.01
Jose Trevino TEX C 599.3 0.3 0.81 358 384 0.04
Andrew Knizner STL C 599.4 0.6 0.51 292 422 0.09
David Dahl MIL OF 599.4 0.0 0.26 467 455 -0.02
Yonathan Daza COL OF 599.4 0.0 1.15 498 355 -0.02
Austin Allen OAK C 599.5 0.6 NA 293 -5 0.10
Renato Núñez 0 1B 599.6 0.1 0.60 444 406 -0.01
Reese McGuire TOR C 599.7 0.2 0.42 401 435 0.02
Starlin Castro 0 IF 599.8 0.3 0.74 371 390 0.03
Tim Locastro NYY OF 599.8 0.1 0.68 450 397 -0.01
Asdrúbal Cabrera CIN IF 599.9 0.1 1.38 411 339 0.00
Jason Castro HOU C 599.9 0.8 1.28 265 343 0.17
Eli White TEX OF 600.0 0.1 0.84 423 378 -0.01
Harold Castro DET OF,Oth 600.0 -0.1 1.27 507 346 -0.01
Luis Rengifo LAA 2B 600.0 0.3 0.76 362 389 0.04
Thairo Estrada SFG IF 600.0 0.7 2.18 288 288 0.05
Sergio Alcántara ARI IF 600.1 0.3 0.98 368 369 0.02
Greg Allen PIT OF 600.2 0.3 NA 354 -21 0.01
Max Schrock CIN OF 600.2 0.0 1.17 482 354 -0.02
Jordan Luplow ARI OF 600.3 0.8 2.58 266 262 0.10
Josh VanMeter ARI OF,Oth 600.3 0.2 0.52 390 421 0.00
Nomar Mazara SDP OF 600.3 0.1 1.03 441 364 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.70 522 393 0.00
Ryan O'Hearn KCR 1B 600.4 0.0 0.77 491 388 -0.01
DJ Stewart BAL OF 600.5 0.5 1.76 313 314 0.02
Isan Díaz 0 IF 600.5 0.1 0.28 430 453 0.00
Jacob Nottingham BAL C 600.5 0.1 NA 432 -23 0.01
Ryan Vilade 0 OF 600.5 -0.1 NA 517 -51 -0.01
Stephen Vogt OAK C 600.5 0.2 0.98 404 370 0.03
Willians Astudillo MIA IF 600.5 0.0 0.23 497 463 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.22 413 348 -0.01
Cam Gallagher KCR C 600.6 0.3 0.46 347 432 0.05
Hanser Alberto LAD IF 600.6 0.3 1.03 355 365 0.02
Hoy Park PIT 2B 600.6 0.4 0.83 329 379 0.06
Jake Bauers CIN OF,Oth 600.6 -0.1 0.36 508 442 -0.01
Marwin Gonzalez NYY IF 600.6 0.1 0.64 438 402 -0.01
Travis Shaw 0 3B 600.6 0.0 0.65 496 400 0.00
Yonny Hernandez TEX 3B 600.6 0.3 0.56 376 413 0.03
Aramis Garcia CIN C 600.7 0.0 0.35 460 443 0.00
Geraldo Perdomo ARI SS 600.7 0.2 NA 386 -20 0.01
TJ Friedl 0 OF 600.7 0.1 NA 451 -55 -0.01
Andrew Velazquez LAA SS 600.8 0.2 0.85 381 377 0.02
Chris Owings 0 IF 600.8 0.0 0.60 463 408 -0.02
Estevan Florial 0 OF 600.8 0.1 NA 426 -17 -0.01
Evan White SEA 1B 600.8 0.0 0.23 470 462 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 385 -19 0.00
Jahmai Jones 0 2B 600.8 0.0 0.25 471 459 -0.01
Jake Rogers DET C 600.8 0.3 0.64 357 403 0.04
Johan Camargo PHI IF 600.8 0.4 NA 333 -28 0.04
John Nogowski ATL 1B 600.8 0.0 0.25 474 458 -0.01
José Peraza NYY IF 600.8 0.1 0.40 434 439 -0.01
Mickey Moniak PHI OF 600.8 0.0 NA 485 -42 -0.02
Orlando Arcia ATL SS 600.8 0.3 0.73 365 392 0.03
Owen Miller CLE IF 600.8 0.2 0.80 399 385 0.00
Shogo Akiyama CIN OF 600.8 0.0 0.63 493 404 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 500 -1 -0.01
Andrew Knapp CIN C 600.9 0.0 0.33 458 448 0.00
Gabriel Arias CLE SS 600.9 0.4 NA 328 -18 0.03
Isaac Paredes DET 3B 600.9 0.4 0.51 330 425 0.04
Jack Mayfield LAA IF 600.9 0.1 0.82 431 382 0.00
Lewis Brinson 0 OF 600.9 0.0 0.52 478 419 -0.02
Mitch Moreland 0 1B 600.9 0.2 1.28 398 344 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.69 447 395 0.00
Taylor Trammell 0 OF 600.9 0.0 0.47 494 430 -0.02
Tomás Nido NYM C 600.9 0.3 1.19 372 351 0.03
Wilson Ramos 0 C 600.9 0.3 0.58 375 410 0.05
Jake McCarthy ARI OF 601.0 0.0 2.23 472 285 -0.02
Taylor Ward LAA OF 601.0 0.4 1.57 339 329 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 410 0 -0.01
Adam Eaton 0 OF 999.0 0.2 1.17 378 353 -0.01
Alan Trejo COL IF 999.0 0.0 0.28 456 454 -0.01
Alex Blandino 0 IF 999.0 -0.2 0.33 520 449 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 457 -4 -0.02
Austin Romine 0 C 999.0 0.1 0.22 412 464 0.01
Ben Rortvedt NYY C 999.0 1.0 1.13 232 356 0.22
Brennen Davis CHC OF 999.0 0.3 NA 344 -7 0.01
Brock Holt ATL IF 999.0 -0.1 0.52 503 420 -0.02
Chance Sisco 0 C 999.0 0.1 0.08 414 467 0.01
Christin Stewart BOS OF 999.0 0.0 NA 464 -9 -0.02
Cody Thomas 0 OF 999.0 -0.4 NA 528 -11 0.00
Cooper Hummel ARI C,Oth 999.0 0.3 NA 351 -13 0.01
Curtis Terry MIN DH 999.0 0.2 NA 383 -14 -0.01
Daniel Johnson CLE OF 999.0 0.0 0.55 465 414 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 466 460 -0.01
Danny Mendick CHW IF 999.0 0.1 0.56 416 412 0.00
Danny Santana 0 OF,Oth 999.0 0.1 1.02 417 366 -0.01
Delino DeShields MIA OF 999.0 0.1 0.35 419 445 -0.01
Derek Hill DET OF 999.0 0.1 1.20 420 350 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 505 -15 -0.02
Drew Ellis ARI 3B 999.0 0.1 0.33 421 447 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.43 422 336 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.66 424 398 0.01
Eric Sogard 0 2B 999.0 0.0 0.54 469 416 -0.01
Ernie Clement CLE IF 999.0 0.2 0.53 384 418 0.00
Gilberto Celestino MIN OF 999.0 0.1 0.23 427 461 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.03 506 362 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 429 -22 -0.01
Jake Cave MIN OF 999.0 -0.1 0.69 509 396 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.10 433 359 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 521 -25 -0.01
Jarrod Dyson 0 OF 999.0 -0.1 0.70 510 394 -0.01
Joe Panik 0 2B 999.0 0.0 0.56 473 411 -0.01
Jordy Mercer 0 SS 999.0 -0.1 0.35 511 444 0.00
José Devers MIA IF 999.0 0.0 NA 475 -29 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 512 -32 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.51 523 424 0.00
Juan Lagares 0 OF 999.0 0.1 0.78 435 387 -0.02
Khris Davis 0 OF 999.0 0.0 0.82 476 381 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.64 477 401 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 514 -36 -0.01
Luis Campusano SDP C 999.0 0.5 NA 320 -37 0.07
Luis Guillorme NYM IF 999.0 0.2 0.49 396 427 0.01
Luke Maile CLE C 999.0 0.1 NA 436 -38 0.00
Luke Raley TBR OF 999.0 0.1 0.25 437 457 -0.01
Luke Williams SFG OF 999.0 0.0 0.36 479 441 -0.02
Magneuris Sierra LAA OF 999.0 -0.3 0.51 526 423 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 515 456 -0.01
Michael Perez PIT C 999.0 0.5 0.82 321 380 0.06
Micker Adolfo CHW OF 999.0 0.0 NA 484 -41 -0.02
Nick Allen 0 SS 999.0 0.1 NA 440 -44 0.01
Nick Maton PHI IF 999.0 0.0 0.47 487 429 -0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.44 442 434 -0.01
Patrick Mazeika 0 C 999.0 0.1 0.15 443 465 0.01
Payton Henry MIA C 999.0 0.2 NA 400 -47 0.02
Richie Martin BAL SS 999.0 0.0 0.31 488 451 0.00
Rob Refsnyder BOS OF 999.0 0.0 0.41 489 437 -0.02
Rodolfo Castro 0 2B 999.0 0.1 0.48 445 428 0.00
Roman Quinn 0 OF 999.0 0.0 0.41 490 438 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 446 -50 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.32 448 450 -0.01
Sandy León CLE C 999.0 0.0 0.44 492 433 0.00
Seiya Suzuki CHC DH 999.0 2.6 NA 76 -52 0.64
Shed Long Jr. BAL OF,Oth 999.0 0.2 0.88 402 374 0.00
Sheldon Neuse OAK 2B 999.0 0.3 1.67 370 323 0.01
Skye Bolt OAK OF 999.0 0.2 0.34 403 446 0.00
Taylor Jones HOU 1B 999.0 0.1 0.38 449 440 -0.01
Travis Jankowski NYM OF 999.0 0.0 0.54 495 415 -0.02
Tres Barrera WSN C 999.0 0.1 0.59 452 409 0.02
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 453 -57 -0.01
Vimael Machín 0 IF 999.0 0.2 NA 406 -59 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.78 519 386 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 409 -60 -0.01
Zach Reks 0 OF 999.0 0.0 NA 499 -61 -0.02
Zack Short 0 SS 999.0 0.1 0.29 455 452 0.01

1B

WAR Ranks are for the position, and Pos_Rank is based on Model Score , and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Vladimir Guerrero Jr. TOR IF 5 5.6 8.31 1 1 0.88
Freddie Freeman LAD 1B 18 5.1 7.94 2 2 0.86
Matt Olson ATL 1B 37 4.2 7.31 3 4 0.81
Pete Alonso NYM 1B 45 3.5 7.17 5 5 0.76
Paul Goldschmidt STL 1B 48 3.5 7.73 4 3 0.72
José Abreu CHW 1B 79 2.1 6.83 13 6 0.46
Jared Walsh LAA 1B 119 2.2 6.54 11 9 0.52
Ryan Mountcastle BAL OF,Oth 121 1.6 6.14 21 12 0.26
Rhys Hoskins PHI OF,Oth 123 3.0 6.30 7 10 0.64
C.J. Cron COL 1B 123 1.7 6.04 18 13 0.32
DJ LeMahieu NYY IF 123 2.3 4.02 10 25 0.38
Max Muncy LAD IF 126 3.2 5.92 6 14 0.68
Josh Bell WSN 1B 129 1.9 5.86 15 15 0.44
Joey Votto CIN 1B 142 1.9 6.54 14 8 0.41
Ty France SEA 1B 158 2.4 5.12 9 20 0.57
Alex Kirilloff MIN OF,Oth 180 1.6 4.39 20 24 0.24
Anthony Rizzo NYY 1B 187 2.1 5.48 12 16 0.49
Trey Mancini BAL OF,Oth 209 1.4 4.78 25 22 0.21
Yuli Gurriel HOU 1B 210 1.4 4.74 26 23 0.19
Jonathan Schoop DET IF 215 1.7 5.24 19 17 0.37
Bobby Dalbec BOS 1B 223 1.7 4.92 17 21 0.35
Brandon Belt SFG 1B 234 2.5 6.14 8 11 0.61
Luke Voit SDP 1B 237 1.3 3.82 27 29 0.17
Frank Schwindel CHC 1B 240 0.8 6.59 31 7 0.10
Nathaniel Lowe TEX 1B 251 1.8 5.16 16 19 0.39
Miguel Sanó MIN IF 277 0.8 5.19 32 18 0.08
Jesús Aguilar MIA 1B 304 1.1 3.87 29 27 0.14
Connor Joe COL OF,Oth 346 0.7 3.25 36 35 0.07
Rowdy Tellez MIL 1B 356 0.8 3.02 33 39 0.12
Austin Nola SDP C,Oth 380 1.4 1.98 24 47 0.21
Dominic Smith NYM OF,Oth 459 0.5 2.51 42 43 0.04
Yoshi Tsutsugo PIT OF,Oth 459 0.3 2.69 47 41 0.02
Darin Ruf SFG OF,Oth 478 0.9 3.83 30 28 0.13
Yandy Díaz TBR IF 484 1.6 3.44 22 34 0.26
Eric Hosmer SDP 1B 485 0.4 3.70 43 30 0.02
Pavin Smith ARI OF,Oth 497 0.7 3.53 38 33 0.06
Bobby Bradley CLE 1B 512 0.5 3.54 40 32 0.03
Christian Walker ARI 1B 518 0.7 3.22 35 37 0.08
Carlos Santana KCR 1B 525 0.7 3.25 34 36 0.09
Garrett Cooper MIA OF,Oth 533 1.1 3.94 28 26 0.16
Brad Miller TEX IF 544 1.5 3.61 23 31 0.17
Seth Beer ARI 1B 554 0.3 NA 46 -4 0.01
Matt Vierling PHI OF,Oth 575 0.6 2.37 39 44 0.05
Colin Moran CIN IF 579 -0.1 2.79 65 40 -0.01
Michael Chavis PIT IF 581 0.0 2.63 62 42 -0.01
Ji-Man Choi TBR 1B 581 0.7 3.21 37 38 0.07
Daniel Vogelbach PIT 1B 588 0.5 2.16 41 45 0.04
Lewin Díaz 0 1B 591 0.3 1.58 45 49 0.01
Matt Beaty SDP OF,Oth 591 0.2 2.08 49 46 0.00
Edwin Ríos LAD IF 593 0.0 0.11 59 62 -0.01
Eric Thames OAK OF,Oth 593 0.1 NA 53 -2 -0.01
Albert Pujols STL 1B 596 -0.4 1.40 68 50 0.00
Yu Chang CLE IF 597 0.4 1.82 44 48 0.02
Matt Thaiss LAA IF 598 0.1 NA 54 -3 -0.01
Colton Welker COL IF 599 0.2 NA 48 -1 0.00
Renato Núñez 0 1B 600 0.1 0.60 55 55 -0.01
Ryan O'Hearn KCR 1B 600 0.0 0.77 63 54 -0.01
Willians Astudillo MIA IF 600 0.0 0.23 64 61 -0.01
Jake Bauers CIN OF,Oth 601 -0.1 0.36 66 57 -0.01
Evan White SEA 1B 601 0.0 0.23 60 60 -0.01
John Nogowski ATL 1B 601 0.0 0.25 61 59 -0.01
Owen Miller CLE IF 601 0.2 0.80 51 53 0.00
Mitch Moreland 0 1B 601 0.2 1.28 50 51 0.00
Alex Blandino 0 IF 999 -0.2 0.33 67 58 -0.01
Alfonso Rivas CHC OF,Oth 999 0.0 NA 58 0 -0.02
Danny Santana 0 OF,Oth 999 0.1 1.02 52 52 -0.01
Taylor Jones HOU 1B 999 0.1 0.38 56 56 -0.01
Tyler Nevin BAL OF,Oth 999 0.1 NA 57 -5 -0.01

2B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Ozzie Albies ATL 2B 18 4.1 6.97 3 5 0.88
Whit Merrifield KCR OF,Oth 33 2.3 5.72 16 11 0.42
Marcus Semien TEX IF 39 4.6 8.24 1 1 0.85
Jose Altuve HOU 2B 74 3.8 7.41 5 3 0.81
Brandon Lowe TBR 2B 77 4.4 7.01 2 4 0.92
Jorge Polanco MIN IF 78 3.1 7.50 9 2 0.56
Jazz Chisholm Jr. MIA IF 78 1.8 5.82 20 10 0.28
Ketel Marte ARI IF 78 3.7 6.52 6 7 0.65
Tommy Edman STL 2B 91 2.3 5.20 15 16 0.54
Jonathan India CIN 2B 92 3.8 6.95 4 6 0.84
DJ LeMahieu NYY IF 123 2.3 4.02 13 26 0.38
Max Muncy LAD IF 126 3.2 5.92 8 8 0.68
Jake Cronenworth SDP 2B 128 3.4 5.86 7 9 0.74
Ryan McMahon COL IF 158 2.1 5.47 17 13 0.32
Gleyber Torres NYY IF 159 2.5 4.02 11 27 0.45
Brendan Rodgers COL IF 169 1.6 5.10 26 18 0.23
Kolten Wong MIL 2B 195 2.5 5.59 12 12 0.63
Jean Segura PHI IF 205 2.3 5.39 14 14 0.40
Jonathan Schoop DET IF 215 1.7 5.24 25 15 0.37
Enrique Hernández BOS OF,Oth 226 2.8 5.10 10 17 0.53
Jonathan Villar CHC IF 242 1.2 4.05 41 25 0.13
Josh Rojas ARI OF,Oth 247 1.5 4.36 31 23 0.27
Nicky Lopez KCR IF 254 1.8 4.50 22 20 0.26
Gavin Lux LAD IF 284 1.5 3.11 29 36 0.19
Andrés Giménez CLE IF 292 1.7 3.20 23 35 0.24
Jeff McNeil NYM OF,Oth 314 1.9 3.56 19 33 0.38
Garrett Hampson COL OF,Oth 323 0.3 2.72 61 46 0.01
Cavan Biggio TOR 2B 326 1.4 2.79 35 41 0.20
Ha-Seong Kim SDP IF 348 1.5 2.84 30 39 0.20
Nick Madrigal CHC 2B 359 1.8 3.61 21 32 0.41
Abraham Toro SEA IF 365 1.4 2.75 34 44 0.16
Luis Arraez MIN IF 372 1.5 3.71 32 29 0.22
Mike Moustakas CIN IF 383 0.9 2.47 45 52 0.10
Josh Harrison CHW 2B 398 1.2 3.70 42 30 0.15
César Hernández WSN 2B 414 1.7 4.49 24 21 0.37
Adam Frazier SEA OF,Oth 415 2.0 4.73 18 19 0.41
Vidal Bruján 0 OF,Oth 422 0.8 NA 46 -3 0.10
Joey Wendle MIA IF 426 1.4 4.46 38 22 0.17
David Fletcher LAA 2B 430 1.4 3.85 36 28 0.21
Keston Hiura MIL 2B 432 0.2 1.77 74 56 0.01
Jorge Mateo BAL OF,Oth 456 0.5 2.76 52 42 0.04
Tony Kemp OAK OF,Oth 462 1.6 4.18 27 24 0.28
Wilmer Flores SFG 2B 479 1.3 3.67 40 31 0.16
Nick Solak TEX 2B 509 0.6 2.60 49 49 0.08
Rougned Odor BAL 2B 518 0.6 2.86 50 38 0.09
Tyler Wade LAA IF 520 0.3 1.74 70 57 0.03
Edmundo Sosa STL IF 520 1.4 2.83 37 40 0.16
Nico Hoerner CHC IF 524 1.4 2.64 39 47 0.15
Dylan Moore SEA OF,Oth 528 0.5 1.57 51 61 0.05
Robinson Canó NYM 2B 534 0.3 NA 66 -2 0.03
Ramón Urías BAL IF 539 1.5 3.35 33 34 0.18
Jurickson Profar SDP OF,Oth 550 0.3 2.73 64 45 0.02
Andy Ibáñez TEX 2B 559 1.5 2.75 28 43 0.28
Tommy La Stella SFG 2B 565 1.2 2.94 43 37 0.14
Luis García WSN 2B 574 0.7 2.59 47 50 0.09
Willi Castro DET IF 575 0.3 1.03 71 64 0.01
Aledmys Díaz HOU IF 580 0.9 2.14 44 54 0.07
Michael Chavis PIT IF 581 0.0 2.63 89 48 -0.01
Jace Peterson MIL OF,Oth 583 0.3 1.68 63 58 0.01
Jed Lowrie OAK IF 588 0.4 2.58 57 51 0.04
Donovan Solano CIN 2B 595 0.4 1.87 55 55 0.04
Christian Arroyo BOS 2B 596 0.3 1.58 60 60 0.03
Mauricio Dubón SFG OF,Oth 596 0.4 1.02 59 66 0.03
Zach McKinstry 0 OF,Oth 598 -0.2 0.91 95 68 -0.01
Mike Brosseau MIL IF 598 0.5 1.55 53 62 0.05
David Bote CHC IF 599 0.4 0.86 54 70 0.05
Starlin Castro 0 IF 600 0.3 0.74 69 75 0.03
Harold Castro DET OF,Oth 600 -0.1 1.27 92 63 -0.01
Luis Rengifo LAA 2B 600 0.3 0.76 65 74 0.04
Thairo Estrada SFG IF 600 0.7 2.18 48 53 0.05
Sergio Alcántara ARI IF 600 0.3 0.98 67 67 0.02
Josh VanMeter ARI OF,Oth 600 0.2 0.52 73 82 0.00
Isan Díaz 0 IF 600 0.1 0.28 79 88 0.00
Hanser Alberto LAD IF 601 0.3 1.03 62 65 0.02
Hoy Park PIT 2B 601 0.4 0.83 56 71 0.06
Chris Owings 0 IF 601 0.0 0.60 83 76 -0.02
Jahmai Jones 0 2B 601 0.0 0.25 86 90 -0.01
Johan Camargo PHI IF 601 0.4 NA 58 0 0.04
José Peraza NYY IF 601 0.1 0.40 80 86 -0.01
Owen Miller CLE IF 601 0.2 0.80 76 72 0.00
Alan Trejo COL IF 999 0.0 0.28 82 89 -0.01
Alex Blandino 0 IF 999 -0.2 0.33 94 87 -0.01
Brock Holt ATL IF 999 -0.1 0.52 91 81 -0.02
Daniel Robertson MIN IF 999 0.0 0.24 84 91 -0.01
Danny Mendick CHW IF 999 0.1 0.56 78 78 0.00
Eric Sogard 0 2B 999 0.0 0.54 85 79 -0.01
Ernie Clement CLE IF 999 0.2 0.53 72 80 0.00
Joe Panik 0 2B 999 0.0 0.56 87 77 -0.01
José Devers MIA IF 999 0.0 NA 88 -1 -0.01
Luis Guillorme NYM IF 999 0.2 0.49 75 83 0.01
Nick Maton PHI IF 999 0.0 0.47 90 85 -0.01
Rodolfo Castro 0 2B 999 0.1 0.48 81 84 0.00
Shed Long Jr. BAL OF,Oth 999 0.2 0.88 77 69 0.00
Sheldon Neuse OAK 2B 999 0.3 1.67 68 59 0.01
Wilmer Difo ARI IF 999 -0.1 0.78 93 73 0.00

3B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
José Ramírez CLE 3B 3.1 5.9 7.89 1 3 0.94
Vladimir Guerrero Jr. TOR IF 5.0 5.6 8.31 2 1 0.88
Rafael Devers BOS 3B 14.2 4.8 8.02 3 2 0.84
Manny Machado SDP 3B 22.7 4.6 7.37 4 4 0.79
Austin Riley ATL 3B 51.8 3.1 6.70 13 6 0.46
Nolan Arenado STL 3B 69.5 3.7 6.37 7 7 0.66
Kris Bryant COL OF,Oth 74.2 2.3 6.71 17 5 0.36
Alex Bregman HOU 3B 88.4 4.5 4.67 5 17 0.74
Anthony Rendon LAA 3B 111.1 4.3 2.92 6 31 0.70
DJ LeMahieu NYY IF 123.3 2.3 4.02 16 23 0.38
Ke'Bryan Hayes PIT 3B 145.1 3.3 4.12 11 21 0.53
Justin Turner LAD 3B 151.0 3.0 5.79 14 8 0.43
Yoán Moncada CHW 3B 158.1 3.4 5.09 9 13 0.59
Ryan McMahon COL IF 158.2 2.1 5.47 19 10 0.32
Matt Chapman TOR 3B 174.5 3.6 4.71 8 16 0.63
Josh Donaldson NYY 3B 182.8 3.3 4.59 10 18 0.56
Luis Urías MIL IF 190.2 2.5 5.27 15 11 0.41
Eduardo Escobar NYM IF 202.3 1.9 5.59 21 9 0.30
Eugenio Suárez SEA 3B 204.3 2.2 4.26 18 20 0.34
Jeimer Candelario DET 3B 243.0 3.2 5.09 12 14 0.49
Miguel Sanó MIN IF 277.3 0.8 5.19 37 12 0.08
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.08 22 22 0.21
Gio Urshela MIN 3B 320.0 1.4 3.48 29 26 0.14
Alec Bohm PHI 3B 328.8 1.4 3.33 27 29 0.19
Ha-Seong Kim SDP IF 348.4 1.5 2.84 24 32 0.20
Abraham Toro SEA IF 364.9 1.4 2.75 26 34 0.16
Patrick Wisdom CHC 3B 369.7 1.3 4.78 31 15 0.13
Luis Arraez MIN IF 372.3 1.5 3.71 25 25 0.22
Mike Moustakas CIN IF 383.4 0.9 2.47 35 36 0.10
Joey Wendle MIA IF 426.3 1.4 4.46 30 19 0.17
Hunter Dozier KCR OF,Oth 462.3 0.6 3.34 39 28 0.05
Evan Longoria SFG 3B 480.2 1.4 3.94 28 24 0.20
Yandy Díaz TBR IF 484.0 1.6 3.44 23 27 0.26
Brian Anderson MIA OF,Oth 510.8 1.9 3.23 20 30 0.28
J.D. Davis NYM OF,Oth 524.0 0.9 2.30 34 37 0.09
Kevin Smith OAK 3B 535.0 1.0 NA 32 -3 0.12
Carter Kieboom WSN 3B 564.7 0.8 1.67 36 42 0.09
Santiago Espinal TOR 3B 570.5 0.8 2.55 38 35 0.07
Colin Moran CIN IF 579.3 -0.1 2.79 75 33 -0.01
Aledmys Díaz HOU IF 580.0 0.9 2.14 33 38 0.07
Jon Berti MIA OF,Oth 581.0 0.4 1.11 45 46 0.03
Matt Duffy LAA 3B 587.0 0.6 2.03 40 39 0.06
Maikel Franco WSN 3B 587.7 0.0 1.00 70 48 0.00
Edwin Ríos LAD IF 592.8 0.0 0.11 69 68 -0.01
Kelvin Gutierrez BAL 3B 597.0 0.2 1.79 53 41 0.02
Yu Chang CLE IF 597.0 0.4 1.82 46 40 0.02
Charlie Culberson 0 OF,Oth 597.2 0.0 0.95 67 49 -0.02
Jake Burger CHW 3B 597.5 0.2 NA 52 -1 0.01
Matt Carpenter 0 3B 597.6 0.0 0.60 71 57 0.00
Matt Thaiss LAA IF 597.6 0.1 NA 63 -4 -0.01
Mike Brosseau MIL IF 598.1 0.5 1.55 41 43 0.05
Colton Welker COL IF 599.0 0.2 NA 50 0 0.00
David Bote CHC IF 599.3 0.4 0.86 42 50 0.05
Starlin Castro 0 IF 599.8 0.3 0.74 48 52 0.03
Asdrúbal Cabrera CIN IF 599.9 0.1 1.38 56 45 0.00
Isan Díaz 0 IF 600.5 0.1 0.28 60 65 0.00
Willians Astudillo MIA IF 600.5 0.0 0.23 73 67 -0.01
Hanser Alberto LAD IF 600.6 0.3 1.03 47 47 0.02
Marwin Gonzalez NYY IF 600.6 0.1 0.64 62 56 -0.01
Travis Shaw 0 3B 600.6 0.0 0.65 72 55 0.00
Yonny Hernandez TEX 3B 600.6 0.3 0.56 49 58 0.03
Johan Camargo PHI IF 600.8 0.4 NA 44 -2 0.04
Isaac Paredes DET 3B 600.9 0.4 0.51 43 61 0.04
Jack Mayfield LAA IF 600.9 0.1 0.82 61 51 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.69 66 53 0.00
Brock Holt ATL IF 999.0 -0.1 0.52 74 60 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 68 66 -0.01
Drew Ellis ARI 3B 999.0 0.1 0.33 57 64 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.43 58 44 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.66 59 54 0.01
Ernie Clement CLE IF 999.0 0.2 0.53 51 59 0.00
Luis Guillorme NYM IF 999.0 0.2 0.49 54 62 0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.44 64 63 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 65 -5 -0.01
Vimael Machín 0 IF 999.0 0.2 NA 55 -6 0.01

SS

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Trea Turner LAD SS 1.3 5.6 8.09 1 3 0.96
Bo Bichette TOR SS 4.6 4.7 8.26 2 1 0.89
Tim Anderson CHW SS 30.2 3.2 7.40 13 5 0.58
Trevor Story BOS SS 34.8 4.2 6.84 9 7 0.68
Marcus Semien TEX IF 39.0 4.6 8.24 4 2 0.85
Xander Bogaerts BOS SS 45.7 4.5 7.02 7 6 0.82
Fernando Tatis Jr. SDP SS 47.7 3.4 4.45 11 26 0.63
Francisco Lindor NYM SS 53.9 4.2 5.99 8 16 0.72
Adalberto Mondesi KCR SS 57.1 2.0 4.90 26 24 0.33
Wander Franco TBR SS 58.8 4.5 6.40 6 14 0.78
Javier Báez DET SS 62.4 2.8 6.81 15 8 0.53
Jorge Polanco MIN IF 77.8 3.1 7.50 14 4 0.56
Corey Seager TEX SS 78.2 4.5 6.61 5 9 0.75
Jazz Chisholm Jr. MIA IF 78.4 1.8 5.82 29 17 0.28
Ketel Marte ARI IF 78.4 3.7 6.52 10 10 0.65
Bobby Witt Jr. KCR SS 84.4 2.4 NA 20 0 0.42
Carlos Correa MIN SS 98.7 4.7 6.47 3 12 0.92
Dansby Swanson ATL SS 120.5 2.7 6.49 17 11 0.49
Willy Adames MIL SS 123.7 3.3 6.14 12 15 0.60
Chris Taylor LAD OF,Oth 141.6 2.2 5.32 24 20 0.37
Gleyber Torres NYY IF 158.6 2.5 4.02 18 30 0.45
Brendan Rodgers COL IF 168.8 1.6 5.10 34 22 0.23
Amed Rosario CLE SS 172.6 1.9 5.06 27 23 0.32
Luis Urías MIL IF 190.2 2.5 5.27 19 21 0.41
Eduardo Escobar NYM IF 202.3 1.9 5.59 28 18 0.30
Jean Segura PHI IF 205.1 2.3 5.39 22 19 0.40
Oneil Cruz 0 SS 212.2 1.8 NA 32 -8 0.29
Brandon Crawford SFG SS 222.5 2.7 6.46 16 13 0.51
Jonathan Villar CHC IF 242.5 1.2 4.05 42 29 0.13
Nicky Lopez KCR IF 254.1 1.8 4.50 31 25 0.26
Gavin Lux LAD IF 283.6 1.5 3.11 37 39 0.19
Andrés Giménez CLE IF 291.8 1.7 3.20 33 38 0.24
Isiah Kiner-Falefa NYY IF 292.0 1.6 4.08 35 28 0.21
Ha-Seong Kim SDP IF 348.4 1.5 2.84 38 41 0.20
Jeremy Peña HOU SS 451.0 1.8 NA 30 -5 0.25
J.P. Crawford SEA SS 478.9 2.4 3.88 21 31 0.44
Miguel Rojas MIA SS 492.7 2.3 4.32 23 27 0.38
Paul DeJong STL SS 498.0 2.1 3.77 25 32 0.35
Bryson Stott PHI SS 501.8 1.0 NA 49 -1 0.08
Jose Barrero CIN SS 518.7 1.2 1.61 43 54 0.11
Tyler Wade LAA IF 519.7 0.3 1.74 63 52 0.03
Edmundo Sosa STL IF 520.2 1.4 2.83 40 43 0.16
Nico Hoerner CHC IF 523.5 1.4 2.64 41 45 0.15
Didi Gregorius PHI SS 526.4 0.9 2.84 51 42 0.06
Kyle Farmer CIN SS 528.8 1.1 3.31 46 37 0.10
CJ Abrams SDP SS 534.7 0.3 NA 59 -2 0.02
José Iglesias COL SS 537.8 1.2 3.52 44 35 0.14
Ramón Urías BAL IF 539.1 1.5 3.35 39 36 0.18
Brad Miller TEX IF 544.0 1.5 3.61 36 33 0.17
Elvis Andrus OAK SS 568.8 0.9 2.79 52 44 0.06
Niko Goodrum HOU SS 574.0 0.7 2.26 53 48 0.05
Willi Castro DET IF 574.6 0.3 1.03 64 58 0.01
Aledmys Díaz HOU IF 580.0 0.9 2.14 50 50 0.07
Cole Tucker PIT OF,Oth 588.0 0.4 1.86 56 51 0.03
Jed Lowrie OAK IF 588.3 0.4 2.58 58 46 0.04
Alcides Escobar WSN SS 588.5 0.2 3.57 65 34 0.01
Nick Ahmed ARI SS 588.6 1.1 2.95 47 40 0.09
Andrelton Simmons CHC SS 589.7 1.0 1.45 48 55 0.08
Taylor Walls TBR SS 592.7 1.2 1.65 45 53 0.12
Kevin Newman PIT SS 598.1 0.6 2.34 55 47 0.04
Starlin Castro 0 IF 599.8 0.3 0.74 62 63 0.03
Asdrúbal Cabrera CIN IF 599.9 0.1 1.38 70 57 0.00
Thairo Estrada SFG IF 600.0 0.7 2.18 54 49 0.05
Sergio Alcántara ARI IF 600.1 0.3 0.98 61 59 0.02
Marwin Gonzalez NYY IF 600.6 0.1 0.64 75 66 -0.01
Geraldo Perdomo ARI SS 600.7 0.2 NA 67 -4 0.01
Andrew Velazquez LAA SS 600.8 0.2 0.85 66 60 0.02
Chris Owings 0 IF 600.8 0.0 0.60 80 67 -0.02
José Peraza NYY IF 600.8 0.1 0.40 74 70 -0.01
Orlando Arcia ATL SS 600.8 0.3 0.73 60 64 0.03
Gabriel Arias CLE SS 600.9 0.4 NA 57 -3 0.03
Jack Mayfield LAA IF 600.9 0.1 0.82 73 61 0.00
Ronald Torreyes PHI IF 600.9 0.1 0.69 77 65 0.00
Alan Trejo COL IF 999.0 0.0 0.28 79 74 -0.01
Daniel Robertson MIN IF 999.0 0.0 0.24 81 75 -0.01
Danny Mendick CHW IF 999.0 0.1 0.56 71 68 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.43 72 56 0.01
Jordy Mercer 0 SS 999.0 -0.1 0.35 85 71 0.00
José Devers MIA IF 999.0 0.0 NA 82 -6 -0.01
Nick Allen 0 SS 999.0 0.1 NA 76 -7 0.01
Nick Maton PHI IF 999.0 0.0 0.47 83 69 -0.01
Richie Martin BAL SS 999.0 0.0 0.31 84 72 0.00
Vimael Machín 0 IF 999.0 0.2 NA 68 -9 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.78 86 62 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 69 -10 -0.01
Zack Short 0 SS 999.0 0.1 0.29 78 73 0.01

LF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 7.81 1 2 0.92
Teoscar Hernández TOR OF 27.5 2.2 7.86 15 1 0.40
Tyler O'Neill STL OF 47.2 2.8 7.22 7 3 0.64
Eloy Jiménez CHW OF 65.4 2.2 4.78 11 24 0.45
Randy Arozarena TBR OF 66.1 2.2 6.38 14 7 0.34
Bryan Reynolds PIT OF 92.9 4.3 7.16 2 4 0.77
Christian Yelich MIL OF 97.8 2.9 4.85 6 23 0.59
Kyle Schwarber PHI OF 110.8 2.7 6.42 8 6 0.61
Jesse Winker SEA OF 116.2 3.3 6.48 4 5 0.74
Ryan Mountcastle BAL OF,Oth 120.7 1.6 6.14 27 8 0.26
Chris Taylor LAD OF,Oth 141.6 2.2 5.32 10 15 0.37
Lourdes Gurriel Jr. TOR OF 144.1 1.3 5.59 30 10 0.23
Austin Meadows TBR OF 149.0 1.5 5.32 29 14 0.25
Akil Baddoo DET OF 156.3 1.6 5.02 26 19 0.29
Marcell Ozuna ATL OF 169.2 2.2 2.99 13 48 0.47
Alex Verdugo BOS OF 170.0 2.4 5.41 9 11 0.41
Joey Gallo NYY OF 178.7 3.5 5.72 3 9 0.64
Eddie Rosario ATL OF 180.0 0.9 4.70 40 27 0.14
Andrew Benintendi KCR OF 192.2 1.9 4.99 18 21 0.38
Robbie Grossman DET OF 192.2 1.7 4.76 24 25 0.29
Adam Duvall ATL OF 214.6 1.7 5.02 21 20 0.27
Ian Happ CHC OF 219.1 2.1 5.25 16 16 0.35
AJ Pollock LAD OF 220.9 1.8 5.20 20 17 0.33
Jo Adell LAA OF 221.0 0.6 4.36 49 31 0.04
Jesús Sánchez MIA OF 234.0 2.2 5.19 12 18 0.36
Austin Hays BAL OF 247.4 1.7 5.34 22 13 0.28
Michael Brantley HOU OF 252.3 2.0 4.25 17 33 0.39
Tommy Pham CIN OF 257.9 1.7 4.16 25 35 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.05 31 36 0.21
Mark Canha NYM OF 282.7 1.7 5.38 23 12 0.35
Wil Myers SDP OF 294.5 1.1 4.66 34 28 0.18
Raimel Tapia TOR OF 297.2 0.3 3.61 67 40 0.02
Jeff McNeil NYM OF,Oth 314.1 1.9 3.56 19 42 0.38
Andrew McCutchen MIL OF 327.4 0.9 4.70 37 26 0.12
Brandon Nimmo NYM OF 331.0 3.0 4.57 5 30 0.58
Connor Joe COL OF,Oth 345.9 0.7 3.25 47 44 0.07
Rafael Ortega CHC OF 363.8 0.9 4.27 43 32 0.11
LaMonte Wade Jr. SFG OF 373.7 1.0 4.98 35 22 0.13
Dominic Smith NYM OF,Oth 458.7 0.5 2.51 54 57 0.04
Tony Kemp OAK OF,Oth 461.7 1.6 4.18 28 34 0.28
Willie Calhoun TEX OF 470.0 0.2 2.73 75 53 0.00
Josh Lowe TBR OF 472.9 0.3 NA 64 -7 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 3.83 39 37 0.13
Joc Pederson SFG OF 491.3 0.9 3.81 42 38 0.11
Sam Hilliard COL OF 495.5 0.4 3.78 57 39 0.02
Clint Frazier CHC OF 499.5 0.3 1.76 61 68 0.01
Seth Brown OAK OF 507.5 0.7 4.64 48 29 0.08
Chas McCormick HOU OF 511.8 1.1 3.22 32 45 0.20
J.D. Davis NYM OF,Oth 524.0 0.9 2.30 41 63 0.09
David Peralta ARI OF 525.8 1.1 3.57 33 41 0.18
Dylan Moore SEA OF,Oth 527.8 0.5 1.57 55 71 0.05
Jake Fraley CIN OF 537.7 0.8 2.81 44 50 0.10
Tyrone Taylor MIL OF 538.7 1.0 3.04 36 47 0.15
Jurickson Profar SDP OF,Oth 549.6 0.3 2.73 65 52 0.02
Bryan De La Cruz 0 OF 551.7 0.7 2.04 46 65 0.07
Anthony Alford PIT OF 564.0 0.0 2.68 88 55 -0.02
Justin Upton LAA OF 568.0 0.2 2.72 70 54 0.00
Trevor Larnach MIN OF 573.0 0.2 1.93 74 66 0.00
Chad Pinder OAK OF 574.5 0.5 2.92 52 49 0.03
Corey Dickerson STL OF 578.0 0.1 2.47 78 58 -0.01
Edward Olivares KCR OF 578.0 0.3 1.18 62 76 0.00
Lars Nootbaar STL OF 578.1 0.2 2.32 71 62 -0.01
Ben Gamel PIT OF 581.3 0.9 3.45 38 43 0.12
Josh Naylor CLE OF 584.5 0.5 2.76 56 51 0.03
Harold Ramirez TBR OF 584.7 0.1 1.29 80 74 -0.01
Aristides Aquino CIN OF 589.0 0.3 2.34 59 60 0.01
Yadiel Hernandez WSN OF 590.4 0.1 3.09 86 46 -0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.08 72 64 0.00
Oscar Mercado CLE OF 593.9 0.6 2.43 50 59 0.04
Phil Gosselin 0 OF 597.1 -0.1 0.47 109 90 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 0.95 90 78 -0.02
Andrew Stevenson WSN OF 597.8 -0.1 1.49 104 73 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.33 68 61 0.00
Miguel Andújar NYY OF 598.0 0.0 0.66 98 83 -0.02
Brett Gardner 0 OF 598.6 0.5 1.75 51 69 0.04
Michael Hermosillo CHC OF 599.0 0.3 NA 66 -10 0.00
Brent Rooker MIN OF 599.1 0.3 1.56 60 72 0.00
Billy McKinney 0 OF 599.2 0.0 0.60 89 86 -0.02
David Dahl MIL OF 599.4 0.0 0.26 93 94 -0.02
Tim Locastro NYY OF 599.8 0.1 0.68 83 82 -0.01
Eli White TEX OF 600.0 0.1 0.84 79 80 -0.01
Greg Allen PIT OF 600.2 0.3 NA 63 -5 0.01
Max Schrock CIN OF 600.2 0.0 1.17 96 77 -0.02
Jordan Luplow ARI OF 600.3 0.8 2.58 45 56 0.10
DJ Stewart BAL OF 600.5 0.5 1.76 53 67 0.02
Ryan Vilade 0 OF 600.5 -0.1 NA 110 -12 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.22 77 75 -0.01
Jake Bauers CIN OF,Oth 600.6 -0.1 0.36 105 92 -0.01
TJ Friedl 0 OF 600.7 0.1 NA 84 -13 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 69 -4 0.00
Mickey Moniak PHI OF 600.8 0.0 NA 97 -11 -0.02
Shogo Akiyama CIN OF 600.8 0.0 0.63 100 85 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 103 -1 -0.01
Lewis Brinson 0 OF 600.9 0.0 0.52 95 88 -0.02
Taylor Trammell 0 OF 600.9 0.0 0.47 101 89 -0.02
Taylor Ward LAA OF 601.0 0.4 1.57 58 70 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 76 0 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 87 -2 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 91 -3 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.55 92 87 -0.02
Jake Cave MIN OF 999.0 -0.1 0.69 106 81 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 111 -6 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 107 -8 -0.01
Kyle Garlick MIN OF 999.0 0.0 0.64 94 84 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 108 -9 -0.01
Luke Raley TBR OF 999.0 0.1 0.25 81 95 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.41 99 91 -0.02
Ryan McKenna BAL OF 999.0 0.1 0.32 82 93 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 0.88 73 79 0.00
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 85 -14 -0.01
Zach Reks 0 OF 999.0 0.0 NA 102 -15 -0.02

RF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 7.81 1 4 0.92
Bryce Harper PHI OF 8.6 5.3 8.30 4 1 0.79
Ronald Acuña Jr. ATL OF 12.0 5.1 7.04 5 9 0.75
Kyle Tucker HOU OF 12.4 4.6 7.78 6 5 0.71
Mookie Betts LAD OF 15.3 5.8 7.44 2 6 0.88
Teoscar Hernández TOR OF 27.5 2.2 7.86 22 3 0.40
Whit Merrifield KCR OF,Oth 33.1 2.3 5.72 18 16 0.42
Aaron Judge NYY OF 36.4 5.3 7.28 3 7 0.84
George Springer TOR OF 57.5 4.2 7.20 7 8 0.67
Nick Castellanos PHI OF 59.5 2.4 7.96 16 2 0.48
Randy Arozarena TBR OF 66.1 2.2 6.38 21 12 0.34
Christian Yelich MIL OF 97.8 2.9 4.85 10 28 0.59
Cody Bellinger LAD OF 104.8 3.1 3.44 9 46 0.61
Mitch Haniger SEA OF 108.5 2.5 6.64 14 10 0.50
Franmil Reyes CLE OF 121.8 1.9 6.18 23 13 0.32
Hunter Renfroe MIL OF 161.3 1.7 5.94 26 14 0.31
Adolis García TEX OF 167.8 1.2 5.41 32 17 0.20
Dylan Carlson STL OF 168.0 2.5 5.20 11 22 0.43
Alex Verdugo BOS OF 170.0 2.4 5.41 15 18 0.41
Avisaíl García MIA OF 171.1 2.3 6.39 17 11 0.44
Joey Gallo NYY OF 178.7 3.5 5.72 8 15 0.64
Alex Kirilloff MIN OF,Oth 180.3 1.6 4.39 28 34 0.24
Robbie Grossman DET OF 192.2 1.7 4.76 27 31 0.29
Jorge Soler MIA OF 192.3 1.6 4.94 29 27 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 4.78 30 30 0.21
Adam Duvall ATL OF 214.6 1.7 5.02 24 25 0.27
Michael Conforto 0 OF 220.6 2.5 3.77 13 40 0.52
Jo Adell LAA OF 221.0 0.6 4.36 53 35 0.04
Jesús Sánchez MIA OF 234.0 2.2 5.19 19 23 0.36
Charlie Blackmon COL OF 237.3 0.6 4.84 51 29 0.06
Austin Hays BAL OF 247.4 1.7 5.34 25 19 0.28
Lane Thomas WSN OF 285.4 1.1 3.55 35 43 0.16
Mike Yastrzemski SFG OF 291.1 2.2 5.33 20 20 0.38
Wil Myers SDP OF 294.5 1.1 4.66 37 32 0.18
Max Kepler MIN OF 295.3 2.5 5.26 12 21 0.45
Anthony Santander BAL OF 305.1 1.3 4.15 31 37 0.21
Randal Grichuk COL OF 349.8 0.6 4.30 55 36 0.05
Tyler Naquin CIN OF 366.3 0.7 5.10 50 24 0.09
LaMonte Wade Jr. SFG OF 373.7 1.0 4.98 39 26 0.13
Manuel Margot TBR OF 418.2 1.1 3.65 36 42 0.16
Hunter Dozier KCR OF,Oth 462.3 0.6 3.34 52 47 0.05
Josh Lowe TBR OF 472.9 0.3 NA 66 -4 0.00
Joc Pederson SFG OF 491.3 0.9 3.81 43 39 0.11
Pavin Smith ARI OF,Oth 497.3 0.7 3.53 48 44 0.06
Clint Frazier CHC OF 499.5 0.3 1.76 64 66 0.01
Seth Brown OAK OF 507.5 0.7 4.64 49 33 0.08
Bradley Zimmer CLE OF 516.3 0.7 2.98 46 49 0.07
Gavin Sheets CHW OF 527.5 0.8 3.66 44 41 0.09
Garrett Cooper MIA OF,Oth 532.8 1.1 3.94 33 38 0.16
Kole Calhoun TEX OF 534.0 1.1 2.71 34 53 0.17
Tyrone Taylor MIL OF 538.7 1.0 3.04 40 48 0.15
Bryan De La Cruz 0 OF 551.7 0.7 2.04 47 62 0.07
Kyle Isbel KCR OF 555.4 0.6 2.55 54 55 0.03
Trevor Larnach MIN OF 573.0 0.2 1.93 69 63 0.00
Chad Pinder OAK OF 574.5 0.5 2.92 56 50 0.03
Edward Olivares KCR OF 578.0 0.3 1.18 65 70 0.00
Lars Nootbaar STL OF 578.1 0.2 2.32 68 57 -0.01
Austin Slater SFG OF 578.3 1.0 2.82 38 51 0.14
Jose Siri HOU OF 578.9 0.4 NA 59 -3 0.01
Ben Gamel PIT OF 581.3 0.9 3.45 41 45 0.12
Josh Naylor CLE OF 584.5 0.5 2.76 58 52 0.03
Harold Ramirez TBR OF 584.7 0.1 1.29 72 68 -0.01
Aristides Aquino CIN OF 589.0 0.3 2.34 62 56 0.01
Brett Phillips TBR OF 592.3 0.3 1.76 63 64 0.00
Victor Reyes DET OF 594.6 0.4 2.09 61 60 0.01
Jason Heyward CHC OF 595.0 0.9 2.28 42 58 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.04 92 61 -0.01
Khalil Lee 0 OF 596.7 -0.1 NA 86 -6 -0.01
Zach McKinstry 0 OF,Oth 598.0 -0.2 0.91 93 73 -0.01
Billy McKinney 0 OF 599.2 0.0 0.60 78 79 -0.02
Daz Cameron 0 OF 599.3 0.1 0.88 71 74 -0.01
Tim Locastro NYY OF 599.8 0.1 0.68 76 77 -0.01
Jordan Luplow ARI OF 600.3 0.8 2.58 45 54 0.10
Nomar Mazara SDP OF 600.3 0.1 1.03 74 72 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.70 90 75 0.00
DJ Stewart BAL OF 600.5 0.5 1.76 57 65 0.02
Brian Goodwin 0 OF 600.6 0.1 1.22 70 69 -0.01
Jake McCarthy ARI OF 601.0 0.0 2.23 80 59 -0.02
Taylor Ward LAA OF 601.0 0.4 1.57 60 67 0.02
Adam Eaton 0 OF 999.0 0.2 1.17 67 71 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 77 0 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.55 79 80 -0.02
Dexter Fowler 0 OF 999.0 -0.1 NA 83 -1 -0.02
Jake Cave MIN OF 999.0 -0.1 0.69 84 76 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 89 -2 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 85 -5 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.51 91 81 0.00
Kyle Garlick MIN OF 999.0 0.0 0.64 81 78 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 87 -7 -0.01
Luke Raley TBR OF 999.0 0.1 0.25 73 83 -0.01
Matt Joyce PHI OF 999.0 -0.1 0.26 88 82 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 75 -8 -0.01
Zach Reks 0 OF 999.0 0.0 NA 82 -9 -0.02

CF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Ronald Acuña Jr. ATL OF 12 5.1 7.04 2 7 0.75
Mike Trout LAA OF 13 6.5 7.35 1 4 0.94
Luis Robert CHW OF 16 4.6 8.11 4 1 0.85
Starling Marte NYM OF 33 2.7 6.71 14 8 0.50
Cedric Mullins BAL OF 33 3.2 7.80 8 2 0.66
Byron Buxton MIN OF 46 4.6 7.45 3 3 0.81
George Springer TOR OF 58 4.2 7.20 6 5 0.67
Ketel Marte ARI IF 78 3.7 6.52 7 9 0.65
Daulton Varsho ARI C,Oth 93 2.2 4.33 20 23 0.37
Bryan Reynolds PIT OF 93 4.3 7.16 5 6 0.77
Cody Bellinger LAD OF 105 3.1 3.44 9 34 0.61
Myles Straw CLE OF 128 2.3 3.88 19 26 0.39
Jarred Kelenic SEA OF 145 1.4 3.86 26 27 0.25
Trent Grisham SDP OF 147 3.1 5.13 10 17 0.63
Akil Baddoo DET OF 156 1.6 5.02 24 20 0.29
Adolis García TEX OF 168 1.2 5.41 27 10 0.20
Dylan Carlson STL OF 168 2.5 5.20 16 15 0.43
Alex Verdugo BOS OF 170 2.4 5.41 18 11 0.41
Ian Happ CHC OF 219 2.1 5.25 21 13 0.35
AJ Pollock LAD OF 221 1.8 5.20 22 14 0.33
Enrique Hernández BOS OF,Oth 226 2.8 5.10 13 18 0.53
Harrison Bader STL OF 239 2.9 4.65 12 21 0.55
Ramón Laureano OAK OF 251 2.6 5.13 15 16 0.48
Lane Thomas WSN OF 285 1.1 3.55 34 32 0.16
Max Kepler MIN OF 295 2.5 5.26 17 12 0.45
Garrett Hampson COL OF,Oth 323 0.3 2.72 64 44 0.01
Brandon Nimmo NYM OF 331 3.0 4.57 11 22 0.58
Randal Grichuk COL OF 350 0.6 4.30 54 24 0.05
Rafael Ortega CHC OF 364 0.9 4.27 41 25 0.11
Tyler Naquin CIN OF 366 0.7 5.10 47 19 0.09
Nick Senzel CIN OF 390 1.0 2.54 37 48 0.15
Manuel Margot TBR OF 418 1.1 3.65 35 31 0.16
Brandon Marsh LAA OF 432 1.1 2.70 31 45 0.19
Kyle Lewis SEA OF 439 1.2 2.65 29 46 0.21
Lorenzo Cain MIL OF 481 1.5 3.79 25 28 0.26
Victor Robles WSN OF 484 1.0 2.53 39 49 0.16
Sam Hilliard COL OF 496 0.4 3.78 61 29 0.02
Chas McCormick HOU OF 512 1.1 3.22 32 37 0.20
Jarren Duran 0 OF 512 0.4 1.92 57 58 0.03
Bradley Zimmer CLE OF 516 0.7 2.98 44 40 0.07
Aaron Hicks NYY OF 527 1.6 1.93 23 57 0.27
Michael A. Taylor KCR OF 533 1.2 3.35 30 35 0.21
Jake Fraley CIN OF 538 0.8 2.81 43 43 0.10
Leury García CHW OF 551 0.6 2.85 51 41 0.07
Bryan De La Cruz 0 OF 552 0.7 2.04 45 55 0.07
Kyle Isbel KCR OF 555 0.6 2.55 49 47 0.03
Cristian Pache OAK OF 568 0.8 1.36 42 63 0.10
Matt Vierling PHI OF,Oth 575 0.6 2.37 52 51 0.05
Austin Slater SFG OF 578 1.0 2.82 36 42 0.14
Jose Siri HOU OF 579 0.4 NA 58 -4 0.01
Leody Taveras 0 OF 584 0.6 1.10 50 69 0.06
Jackie Bradley Jr. BOS OF 587 0.2 1.70 66 61 0.00
Odúbel Herrera PHI OF 588 1.0 3.46 38 33 0.14
Nick Gordon MIN OF 588 0.4 1.28 60 64 0.01
Kevin Kiermaier TBR OF 590 1.2 3.21 28 38 0.22
Brett Phillips TBR OF 592 0.3 1.76 63 59 0.00
Oscar Mercado CLE OF 594 0.6 2.43 53 50 0.04
Kevin Pillar LAD OF 594 0.5 2.02 56 56 0.03
Victor Reyes DET OF 595 0.4 2.09 62 54 0.01
Jake Meyers HOU OF 595 1.1 3.74 33 30 0.20
Jason Heyward CHC OF 595 0.9 2.28 40 52 0.11
Mauricio Dubón SFG OF,Oth 596 0.4 1.02 59 71 0.03
Adam Engel CHW OF 598 0.6 3.28 48 36 0.06
Andrew Stevenson WSN OF 598 -0.1 1.49 92 62 -0.01
Brett Gardner 0 OF 599 0.5 1.75 55 60 0.04
Michael Hermosillo CHC OF 599 0.3 NA 65 -5 0.00
Steven Duggar SFG OF 599 0.7 3.08 46 39 0.08
Billy Hamilton 0 OF 599 -0.1 0.50 93 82 -0.01
Daz Cameron 0 OF 599 0.1 0.88 70 72 -0.01
David Dahl MIL OF 599 0.0 0.26 80 89 -0.02
Yonathan Daza COL OF 599 0.0 1.15 90 67 -0.02
Tim Locastro NYY OF 600 0.1 0.68 78 77 -0.01
Eli White TEX OF 600 0.1 0.84 73 73 -0.01
Brian Goodwin 0 OF 601 0.1 1.22 69 65 -0.01
TJ Friedl 0 OF 601 0.1 NA 79 -7 -0.01
Estevan Florial 0 OF 601 0.1 NA 74 -3 -0.01
Mickey Moniak PHI OF 601 0.0 NA 84 -6 -0.02
Shogo Akiyama CIN OF 601 0.0 0.63 87 78 -0.02
Adam Haseley CHW OF 601 -0.1 NA 91 -1 -0.01
Lewis Brinson 0 OF 601 0.0 0.52 82 80 -0.02
Taylor Trammell 0 OF 601 0.0 0.47 88 83 -0.02
Jake McCarthy ARI OF 601 0.0 2.23 81 53 -0.02
Aaron Altherr 0 OF 999 0.1 NA 68 0 -0.01
Delino DeShields MIA OF 999 0.1 0.35 71 87 -0.01
Derek Hill DET OF 999 0.1 1.20 72 66 -0.01
Dexter Fowler 0 OF 999 -0.1 NA 94 -2 -0.02
Gilberto Celestino MIN OF 999 0.1 0.23 75 90 -0.01
Guillermo Heredia ATL OF 999 -0.1 1.03 95 70 -0.01
Jake Cave MIN OF 999 -0.1 0.69 96 76 -0.01
Jake Marisnick 0 OF 999 0.1 1.10 76 68 -0.01
Jarrod Dyson 0 OF 999 -0.1 0.70 97 75 -0.01
Juan Lagares 0 OF 999 0.1 0.78 77 74 -0.02
Luke Williams SFG OF 999 0.0 0.36 83 86 -0.02
Magneuris Sierra LAA OF 999 -0.3 0.51 98 81 0.00
Rob Refsnyder BOS OF 999 0.0 0.41 85 84 -0.02
Roman Quinn 0 OF 999 0.0 0.41 86 85 -0.02
Skye Bolt OAK OF 999 0.2 0.34 67 88 0.00
Travis Jankowski NYM OF 999 0.0 0.54 89 79 -0.02

OF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.8 7.5 7.81 1 5 0.92
Bryce Harper PHI OF 8.6 5.3 8.30 5 1 0.79
Ronald Acuña Jr. ATL OF 12.0 5.1 7.04 6 15 0.75
Kyle Tucker HOU OF 12.4 4.6 7.78 8 7 0.71
Mike Trout LAA OF 13.0 6.5 7.35 2 10 0.94
Mookie Betts LAD OF 15.3 5.8 7.44 3 9 0.88
Luis Robert CHW OF 16.1 4.6 8.11 9 2 0.85
Teoscar Hernández TOR OF 27.5 2.2 7.86 46 4 0.40
Starling Marte NYM OF 33.0 2.7 6.71 25 17 0.50
Whit Merrifield KCR OF,Oth 33.1 2.3 5.72 38 31 0.42
Cedric Mullins BAL OF 33.2 3.2 7.80 15 6 0.66
Aaron Judge NYY OF 36.4 5.3 7.28 4 11 0.84
Byron Buxton MIN OF 45.6 4.6 7.45 7 8 0.81
Tyler O'Neill STL OF 47.2 2.8 7.22 23 12 0.64
George Springer TOR OF 57.5 4.2 7.20 11 13 0.67
Nick Castellanos PHI OF 59.5 2.4 7.96 33 3 0.48
Eloy Jiménez CHW OF 65.4 2.2 4.78 41 57 0.45
Randy Arozarena TBR OF 66.1 2.2 6.38 45 23 0.34
Kris Bryant COL OF,Oth 74.2 2.3 6.71 36 16 0.36
Ketel Marte ARI IF 78.4 3.7 6.52 12 19 0.65
J.D. Martinez BOS OF 88.5 2.0 6.35 49 24 0.40
Daulton Varsho ARI C,Oth 92.8 2.2 4.33 40 70 0.37
Bryan Reynolds PIT OF 92.9 4.3 7.16 10 14 0.77
Giancarlo Stanton NYY OF 95.8 2.3 5.45 35 33 0.51
Christian Yelich MIL OF 97.8 2.9 4.85 20 55 0.59
Cody Bellinger LAD OF 104.8 3.1 3.44 16 96 0.61
Mitch Haniger SEA OF 108.5 2.5 6.64 31 18 0.50
Kyle Schwarber PHI OF 110.8 2.7 6.42 24 21 0.61
Jesse Winker SEA OF 116.2 3.3 6.48 14 20 0.74
Ryan Mountcastle BAL OF,Oth 120.7 1.6 6.14 67 27 0.26
Franmil Reyes CLE OF 121.8 1.9 6.18 53 26 0.32
Rhys Hoskins PHI OF,Oth 122.9 3.0 6.30 19 25 0.64
Myles Straw CLE OF 128.4 2.3 3.88 37 79 0.39
Chris Taylor LAD OF,Oth 141.6 2.2 5.32 39 40 0.37
Lourdes Gurriel Jr. TOR OF 144.1 1.3 5.59 76 32 0.23
Jarred Kelenic SEA OF 144.8 1.4 3.86 72 80 0.25
Trent Grisham SDP OF 146.8 3.1 5.13 17 47 0.63
Austin Meadows TBR OF 149.0 1.5 5.32 69 39 0.25
Akil Baddoo DET OF 156.3 1.6 5.02 64 50 0.29
Hunter Renfroe MIL OF 161.3 1.7 5.94 58 28 0.31
Nelson Cruz WSN OF 167.6 1.4 5.75 73 29 0.16
Adolis García TEX OF 167.8 1.2 5.41 77 34 0.20
Dylan Carlson STL OF 168.0 2.5 5.20 28 44 0.43
Marcell Ozuna ATL OF 169.2 2.2 2.99 43 107 0.47
Alex Verdugo BOS OF 170.0 2.4 5.41 32 35 0.41
Avisaíl García MIA OF 171.1 2.3 6.39 34 22 0.44
Joey Gallo NYY OF 178.7 3.5 5.72 13 30 0.64
Eddie Rosario ATL OF 180.0 0.9 4.70 101 62 0.14
Alex Kirilloff MIN OF,Oth 180.3 1.6 4.39 65 67 0.24
Andrew Benintendi KCR OF 192.2 1.9 4.99 51 52 0.38
Robbie Grossman DET OF 192.2 1.7 4.76 61 59 0.29
Jorge Soler MIA OF 192.3 1.6 4.94 66 54 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 4.78 74 58 0.21
Adam Duvall ATL OF 214.6 1.7 5.02 56 51 0.27
Ian Happ CHC OF 219.1 2.1 5.25 47 42 0.35
Michael Conforto 0 OF 220.6 2.5 3.77 30 85 0.52
AJ Pollock LAD OF 220.9 1.8 5.20 55 43 0.33
Jo Adell LAA OF 221.0 0.6 4.36 122 68 0.04
Enrique Hernández BOS OF,Oth 225.8 2.8 5.10 22 48 0.53
Jesús Sánchez MIA OF 234.0 2.2 5.19 42 45 0.36
Charlie Blackmon COL OF 237.3 0.6 4.84 120 56 0.06
Harrison Bader STL OF 239.4 2.9 4.65 21 64 0.55
Josh Rojas ARI OF,Oth 246.8 1.5 4.36 70 69 0.27
Austin Hays BAL OF 247.4 1.7 5.34 57 37 0.28
Julio Rodríguez SEA OF 250.5 2.6 NA 26 -18 0.60
Ramón Laureano OAK OF 250.7 2.6 5.13 27 46 0.48
Michael Brantley HOU OF 252.3 2.0 4.25 50 73 0.39
Tommy Pham CIN OF 257.9 1.7 4.16 62 75 0.34
Andrew Vaughn CHW OF 263.5 1.2 4.05 78 77 0.21
Riley Greene DET OF 267.3 1.7 NA 60 -24 0.34
Mark Canha NYM OF 282.7 1.7 5.38 59 36 0.35
Lane Thomas WSN OF 285.4 1.1 3.55 88 92 0.16
Mike Yastrzemski SFG OF 291.1 2.2 5.33 44 38 0.38
Wil Myers SDP OF 294.5 1.1 4.66 90 63 0.18
Max Kepler MIN OF 295.3 2.5 5.26 29 41 0.45
Raimel Tapia TOR OF 297.2 0.3 3.61 160 89 0.02
Anthony Santander BAL OF 305.1 1.3 4.15 75 76 0.21
Jeff McNeil NYM OF,Oth 314.1 1.9 3.56 54 91 0.38
Garrett Hampson COL OF,Oth 322.9 0.3 2.72 154 117 0.01
Andrew McCutchen MIL OF 327.4 0.9 4.70 98 61 0.12
Brandon Nimmo NYM OF 331.0 3.0 4.57 18 66 0.58
Connor Joe COL OF,Oth 345.9 0.7 3.25 113 100 0.07
Randal Grichuk COL OF 349.8 0.6 4.30 128 71 0.05
Rafael Ortega CHC OF 363.8 0.9 4.27 105 72 0.11
Tyler Naquin CIN OF 366.3 0.7 5.10 118 49 0.09
LaMonte Wade Jr. SFG OF 373.7 1.0 4.98 92 53 0.13
Nick Senzel CIN OF 390.4 1.0 2.54 93 126 0.15
Adam Frazier SEA OF,Oth 415.1 2.0 4.73 48 60 0.41
Manuel Margot TBR OF 418.2 1.1 3.65 89 88 0.16
Vidal Bruján 0 OF,Oth 422.0 0.8 NA 110 -31 0.10
Brandon Marsh LAA OF 432.3 1.1 2.70 82 120 0.19
Kyle Lewis SEA OF 439.2 1.2 2.65 80 123 0.21
Jorge Mateo BAL OF,Oth 455.6 0.5 2.76 134 114 0.04
Dominic Smith NYM OF,Oth 458.7 0.5 2.51 132 128 0.04
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 2.69 161 121 0.02
Tony Kemp OAK OF,Oth 461.7 1.6 4.18 68 74 0.28
Hunter Dozier KCR OF,Oth 462.3 0.6 3.34 121 98 0.05
Willie Calhoun TEX OF 470.0 0.2 2.73 173 116 0.00
Josh Lowe TBR OF 472.9 0.3 NA 157 -16 0.00
Darin Ruf SFG OF,Oth 478.1 0.9 3.83 100 81 0.13
Lorenzo Cain MIL OF 480.7 1.5 3.79 71 83 0.26
Victor Robles WSN OF 484.0 1.0 2.53 96 127 0.16
Joc Pederson SFG OF 491.3 0.9 3.81 104 82 0.11
Sam Hilliard COL OF 495.5 0.4 3.78 143 84 0.02
Pavin Smith ARI OF,Oth 497.3 0.7 3.53 114 93 0.06
Clint Frazier CHC OF 499.5 0.3 1.76 151 149 0.01
Seth Brown OAK OF 507.5 0.7 4.64 115 65 0.08
Brian Anderson MIA OF,Oth 510.8 1.9 3.23 52 101 0.28
Chas McCormick HOU OF 511.8 1.1 3.22 83 102 0.20
Jarren Duran 0 OF 512.4 0.4 1.92 138 145 0.03
Bradley Zimmer CLE OF 516.3 0.7 2.98 111 108 0.07
J.D. Davis NYM OF,Oth 524.0 0.9 2.30 102 135 0.09
David Peralta ARI OF 525.8 1.1 3.57 84 90 0.18
Aaron Hicks NYY OF 527.0 1.6 1.93 63 143 0.27
Gavin Sheets CHW OF 527.5 0.8 3.66 107 87 0.09
Dylan Moore SEA OF,Oth 527.8 0.5 1.57 133 154 0.05
Garrett Cooper MIA OF,Oth 532.8 1.1 3.94 85 78 0.16
Michael A. Taylor KCR OF 533.0 1.2 3.35 81 97 0.21
Kole Calhoun TEX OF 534.0 1.1 2.71 87 119 0.17
Jake Fraley CIN OF 537.7 0.8 2.81 108 112 0.10
Tyrone Taylor MIL OF 538.7 1.0 3.04 95 106 0.15
Steven Kwan CLE OF 542.4 0.7 NA 117 -27 0.09
Jurickson Profar SDP OF,Oth 549.6 0.3 2.73 158 115 0.02
Leury García CHW OF 550.7 0.6 2.85 125 110 0.07
Bryan De La Cruz 0 OF 551.7 0.7 2.04 112 141 0.07
Kyle Isbel KCR OF 555.4 0.6 2.55 123 125 0.03
Anthony Alford PIT OF 564.0 0.0 2.68 201 122 -0.02
Cristian Pache OAK OF 567.8 0.8 1.36 106 157 0.10
Justin Upton LAA OF 568.0 0.2 2.72 167 118 0.00
Alek Thomas ARI OF 572.3 0.9 NA 97 -2 0.13
Trevor Larnach MIN OF 573.0 0.2 1.93 172 144 0.00
Chad Pinder OAK OF 574.5 0.5 2.92 130 109 0.03
Matt Vierling PHI OF,Oth 575.2 0.6 2.37 126 131 0.05
Corey Dickerson STL OF 578.0 0.1 2.47 177 129 -0.01
Edward Olivares KCR OF 578.0 0.3 1.18 153 163 0.00
Lars Nootbaar STL OF 578.1 0.2 2.32 168 134 -0.01
Austin Slater SFG OF 578.3 1.0 2.82 91 111 0.14
Jose Siri HOU OF 578.9 0.4 NA 140 -15 0.01
Jon Berti MIA OF,Oth 581.0 0.4 1.11 139 167 0.03
Ben Gamel PIT OF 581.3 0.9 3.45 99 95 0.12
Jace Peterson MIL OF,Oth 583.0 0.3 1.68 156 152 0.01
Leody Taveras 0 OF 583.8 0.6 1.10 124 169 0.06
Josh Naylor CLE OF 584.5 0.5 2.76 135 113 0.03
Harold Ramirez TBR OF 584.7 0.1 1.29 186 158 -0.01
Jackie Bradley Jr. BOS OF 587.3 0.2 1.70 165 151 0.00
Odúbel Herrera PHI OF 587.5 1.0 3.46 94 94 0.14
Cole Tucker PIT OF,Oth 588.0 0.4 1.86 137 146 0.03
Nick Gordon MIN OF 588.3 0.4 1.28 142 159 0.01
Aristides Aquino CIN OF 589.0 0.3 2.34 147 132 0.01
Kevin Kiermaier TBR OF 590.4 1.2 3.21 79 103 0.22
Yadiel Hernandez WSN OF 590.4 0.1 3.09 199 104 -0.01
Matt Beaty SDP OF,Oth 591.1 0.2 2.08 169 139 0.00
Brett Phillips TBR OF 592.3 0.3 1.76 150 147 0.00
Eric Thames OAK OF,Oth 593.2 0.1 NA 183 -9 -0.01
Oscar Mercado CLE OF 593.9 0.6 2.43 127 130 0.04
Kevin Pillar LAD OF 594.3 0.5 2.02 136 142 0.03
Victor Reyes DET OF 594.6 0.4 2.09 146 138 0.01
Jake Meyers HOU OF 595.0 1.1 3.74 86 86 0.20
Jason Heyward CHC OF 595.0 0.9 2.28 103 136 0.11
Stephen Piscotty OAK OF 595.3 -0.2 2.04 243 140 -0.01
Mauricio Dubón SFG OF,Oth 596.5 0.4 1.02 141 173 0.03
Travis Swaggerty 0 OF 596.5 0.4 NA 145 -29 0.03
Khalil Lee 0 OF 596.7 -0.1 NA 235 -19 -0.01
Phil Gosselin 0 OF 597.1 -0.1 0.47 238 200 -0.01
Charlie Culberson 0 OF,Oth 597.2 0.0 0.95 203 174 -0.02
Adam Engel CHW OF 597.6 0.6 3.28 119 99 0.06
Andrew Stevenson WSN OF 597.8 -0.1 1.49 225 156 -0.01
Alex Dickerson ATL OF 598.0 0.2 2.33 163 133 0.00
Miguel Andújar NYY OF 598.0 0.0 0.66 216 185 -0.02
Zach McKinstry 0 OF,Oth 598.0 -0.2 0.91 244 175 -0.01
Brett Gardner 0 OF 598.6 0.5 1.75 129 150 0.04
Michael Hermosillo CHC OF 599.0 0.3 NA 159 -21 0.00
Steven Duggar SFG OF 599.0 0.7 3.08 116 105 0.08
Brent Rooker MIN OF 599.1 0.3 1.56 149 155 0.00
Billy McKinney 0 OF 599.2 0.0 0.60 202 189 -0.02
Billy Hamilton 0 OF 599.3 -0.1 0.50 226 198 -0.01
Daz Cameron 0 OF 599.3 0.1 0.88 179 177 -0.01
David Dahl MIL OF 599.4 0.0 0.26 207 209 -0.02
Yonathan Daza COL OF 599.4 0.0 1.15 222 166 -0.02
Tim Locastro NYY OF 599.8 0.1 0.68 196 184 -0.01
Eli White TEX OF 600.0 0.1 0.84 182 178 -0.01
Harold Castro DET OF,Oth 600.0 -0.1 1.27 230 160 -0.01
Greg Allen PIT OF 600.2 0.3 NA 155 -12 0.01
Max Schrock CIN OF 600.2 0.0 1.17 213 165 -0.02
Jordan Luplow ARI OF 600.3 0.8 2.58 109 124 0.10
Josh VanMeter ARI OF,Oth 600.3 0.2 0.52 166 195 0.00
Nomar Mazara SDP OF 600.3 0.1 1.03 192 171 -0.01
Jose Rojas LAA OF 600.4 -0.2 0.70 241 181 0.00
DJ Stewart BAL OF 600.5 0.5 1.76 131 148 0.02
Ryan Vilade 0 OF 600.5 -0.1 NA 239 -26 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.22 176 161 -0.01
Jake Bauers CIN OF,Oth 600.6 -0.1 0.36 231 205 -0.01
Marwin Gonzalez NYY IF 600.6 0.1 0.64 191 187 -0.01
TJ Friedl 0 OF 600.7 0.1 NA 197 -28 -0.01
Chris Owings 0 IF 600.8 0.0 0.60 204 190 -0.02
Estevan Florial 0 OF 600.8 0.1 NA 184 -10 -0.01
Garrett Stubbs PHI C,Oth 600.8 0.2 NA 164 -11 0.00
Mickey Moniak PHI OF 600.8 0.0 NA 215 -23 -0.02
Shogo Akiyama CIN OF 600.8 0.0 0.63 219 188 -0.02
Adam Haseley CHW OF 600.9 -0.1 NA 224 -1 -0.01
Lewis Brinson 0 OF 600.9 0.0 0.52 211 193 -0.02
Taylor Trammell 0 OF 600.9 0.0 0.47 220 199 -0.02
Jake McCarthy ARI OF 601.0 0.0 2.23 208 137 -0.02
Taylor Ward LAA OF 601.0 0.4 1.57 144 153 0.02
Aaron Altherr 0 OF 999.0 0.1 NA 175 0 -0.01
Adam Eaton 0 OF 999.0 0.2 1.17 162 164 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 200 -3 -0.02
Brennen Davis CHC OF 999.0 0.3 NA 148 -4 0.01
Brock Holt ATL IF 999.0 -0.1 0.52 227 194 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 205 -5 -0.02
Cody Thomas 0 OF 999.0 -0.4 NA 246 -6 0.00
Cooper Hummel ARI C,Oth 999.0 0.3 NA 152 -7 0.01
Daniel Johnson CLE OF 999.0 0.0 0.55 206 191 -0.02
Danny Santana 0 OF,Oth 999.0 0.1 1.02 178 172 -0.01
Delino DeShields MIA OF 999.0 0.1 0.35 180 206 -0.01
Derek Hill DET OF 999.0 0.1 1.20 181 162 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 228 -8 -0.02
Gilberto Celestino MIN OF 999.0 0.1 0.23 185 212 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.03 229 170 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 187 -13 -0.01
Jake Cave MIN OF 999.0 -0.1 0.69 232 183 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.10 188 168 -0.01
Jared Oliva 0 OF 999.0 -0.2 NA 240 -14 -0.01
Jarrod Dyson 0 OF 999.0 -0.1 0.70 233 182 -0.01
Josh Palacios 0 OF 999.0 -0.1 NA 234 -17 -0.01
Josh Reddick 0 OF 999.0 -0.2 0.51 242 197 0.00
Juan Lagares 0 OF 999.0 0.1 0.78 189 180 -0.02
Khris Davis 0 OF 999.0 0.0 0.82 209 179 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.64 210 186 -0.02
Luis Barrera 0 OF 999.0 -0.1 NA 236 -20 -0.01
Luke Raley TBR OF 999.0 0.1 0.25 190 211 -0.01
Luke Williams SFG OF 999.0 0.0 0.36 212 204 -0.02
Magneuris Sierra LAA OF 999.0 -0.3 0.51 245 196 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 237 210 -0.01
Micker Adolfo CHW OF 999.0 0.0 NA 214 -22 -0.02
Pablo Reyes MIL OF,Oth 999.0 0.1 0.44 193 201 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.41 217 202 -0.02
Roman Quinn 0 OF 999.0 0.0 0.41 218 203 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 194 -25 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.32 195 208 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 0.88 170 176 0.00
Skye Bolt OAK OF 999.0 0.2 0.34 171 207 0.00
Travis Jankowski NYM OF 999.0 0.0 0.54 221 192 -0.02
Tyler Nevin BAL OF,Oth 999.0 0.1 NA 198 -30 -0.01
Yairo Muñoz 0 OF,Oth 999.0 0.2 NA 174 -32 -0.01
Zach Reks 0 OF 999.0 0.0 NA 223 -33 -0.02

C

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Salvador Perez KCR C 32 3.7 6.39 4 1 0.82
J.T. Realmuto PHI C 49 3.8 6.08 3 2 0.86
Will Smith LAD C 53 4.7 5.59 1 3 0.95
Daulton Varsho ARI C,Oth 93 2.2 4.33 9 6 0.37
Yasmani Grandal CHW C 102 4.0 5.19 2 4 0.90
Willson Contreras CHC C 110 2.7 4.71 6 5 0.75
Tyler Stephenson CIN C 137 2.9 4.18 5 7 0.78
Keibert Ruiz WSN C 145 2.2 2.91 11 17 0.65
Mitch Garver TEX C 161 2.4 3.89 8 9 0.70
Christian Vázquez BOS C 202 1.7 2.94 18 16 0.45
Adley Rutschman BAL C 212 2.1 NA 12 0 0.60
Travis d'Arnaud ATL C 226 1.4 2.45 24 24 0.39
Elias Díaz COL C 226 1.3 3.27 25 11 0.35
Alejandro Kirk TOR C 227 1.8 2.71 16 19 0.49
Gary Sánchez MIN C 242 1.1 2.95 33 15 0.24
Sean Murphy OAK C 248 2.5 3.07 7 14 0.72
Mike Zunino TBR C 252 2.0 3.96 14 8 0.58
Omar Narváez MIL C 255 1.7 2.57 19 21 0.47
Joey Bart SFG C 278 0.9 NA 37 -5 0.21
Carson Kelly ARI C 281 1.9 2.69 15 20 0.53
Max Stassi LAA C 301 1.8 3.13 17 13 0.51
Eric Haase DET C 314 0.7 3.15 44 12 0.12
Yadier Molina STL C 324 1.2 2.77 32 18 0.27
Austin Nola SDP C,Oth 380 1.4 1.98 22 31 0.21
James McCann NYM C 383 1.4 2.23 23 26 0.37
Danny Jansen TOR C 400 2.0 3.39 13 10 0.55
Jacob Stallings MIA C 447 2.2 2.19 10 28 0.67
Luis Torrens SEA C 456 0.7 2.24 46 25 0.08
Jorge Alfaro SDP C 465 0.2 1.97 65 32 0.03
Yan Gomes CHC C 466 1.5 2.47 21 23 0.42
MJ Melendez KCR C 466 0.5 NA 56 -8 0.06
Tucker Barnhart DET C 487 1.3 1.90 27 33 0.33
Ryan Jeffers MIN C 493 1.6 2.57 20 22 0.43
Francisco Mejía TBR C 511 1.2 2.10 28 29 0.31
Pedro Severino MIL C 532 0.9 1.59 39 39 0.20
Kyle Higashioka NYY C 544 1.0 1.71 35 38 0.23
Tom Murphy SEA C 545 1.2 1.51 31 40 0.30
Jonah Heim TEX C 554 0.9 1.24 38 44 0.19
Roberto Pérez PIT C 556 1.3 2.22 26 27 0.34
Martín Maldonado HOU C 568 1.2 2.03 30 30 0.26
Cal Raleigh SEA C 574 0.8 0.54 41 59 0.15
Manny Piña ATL C 576 1.2 1.83 29 35 0.28
Kevin Plawecki BOS C 584 0.7 1.13 45 48 0.13
Austin Hedges CLE C 586 0.5 1.80 52 36 0.08
Victor Caratini SDP C 586 0.7 1.04 48 49 0.11
Dom Nuñez COL C 589 0.5 1.72 53 37 0.07
Curt Casali SFG C 592 0.9 1.22 36 45 0.18
Riley Adams WSN C 594 0.8 1.41 43 41 0.15
Robinson Chirinos BAL C 594 0.7 1.86 47 34 0.14
Austin Barnes LAD C 595 0.8 1.31 40 42 0.16
William Contreras ATL C 595 0.2 0.42 70 64 0.02
Nick Fortes 0 C 597 0.3 NA 61 -9 0.02
Seby Zavala CHW C 598 -0.1 0.95 81 51 0.00
Zack Collins CHW C 599 0.6 0.74 51 55 0.09
Kurt Suzuki LAA C 599 0.2 0.81 66 53 0.02
Jose Trevino TEX C 599 0.3 0.81 60 54 0.04
Andrew Knizner STL C 599 0.6 0.51 49 60 0.09
Austin Allen OAK C 600 0.6 NA 50 -1 0.10
Reese McGuire TOR C 600 0.2 0.42 68 63 0.02
Jason Castro HOU C 600 0.8 1.28 42 43 0.17
Jacob Nottingham BAL C 600 0.1 NA 73 -4 0.01
Stephen Vogt OAK C 600 0.2 0.98 69 50 0.03
Willians Astudillo MIA IF 600 0.0 0.23 80 67 -0.01
Cam Gallagher KCR C 601 0.3 0.46 57 61 0.05
Aramis Garcia CIN C 601 0.0 0.35 78 65 0.00
Garrett Stubbs PHI C,Oth 601 0.2 NA 64 -3 0.00
Jake Rogers DET C 601 0.3 0.64 59 56 0.04
Andrew Knapp CIN C 601 0.0 0.33 77 66 0.00
Tomás Nido NYM C 601 0.3 1.19 62 46 0.03
Wilson Ramos 0 C 601 0.3 0.58 63 58 0.05
Austin Romine 0 C 999 0.1 0.22 71 68 0.01
Ben Rortvedt NYY C 999 1.0 1.13 34 47 0.22
Chance Sisco 0 C 999 0.1 0.08 72 70 0.01
Cooper Hummel ARI C,Oth 999 0.3 NA 58 -2 0.01
Luis Campusano SDP C 999 0.5 NA 54 -6 0.07
Luke Maile CLE C 999 0.1 NA 74 -7 0.00
Michael Perez PIT C 999 0.5 0.82 55 52 0.06
Patrick Mazeika 0 C 999 0.1 0.15 75 69 0.01
Payton Henry MIA C 999 0.2 NA 67 -10 0.02
Sandy León CLE C 999 0.0 0.44 79 62 0.00
Tres Barrera WSN C 999 0.1 0.59 76 57 0.02

DH

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Shohei Ohtani LAA DH 8.9 4.0 7.93 2 1 0.73
Yordan Alvarez HOU DH 25.9 4.1 6.69 1 2 0.86
J.D. Martinez BOS OF 88.5 2.0 6.35 5 3 0.40
Giancarlo Stanton NYY OF 95.8 2.3 5.45 4 6 0.51
Franmil Reyes CLE OF 121.8 1.9 6.18 7 4 0.32
Austin Meadows TBR OF 149.0 1.5 5.32 9 7 0.25
Nelson Cruz WSN OF 167.6 1.4 5.75 10 5 0.16
Jorge Soler MIA OF 192.3 1.6 4.94 8 8 0.25
Trey Mancini BAL OF,Oth 208.7 1.4 4.78 11 9 0.21
Michael Brantley HOU OF 252.3 2.0 4.25 6 10 0.39
Rowdy Tellez MIL 1B 355.5 0.8 3.02 13 12 0.12
Luis Torrens SEA C 455.6 0.7 2.24 14 17 0.08
Yoshi Tsutsugo PIT OF,Oth 458.9 0.3 2.69 19 15 0.02
Willie Calhoun TEX OF 470.0 0.2 2.73 23 14 0.00
Gavin Sheets CHW OF 527.5 0.8 3.66 12 11 0.09
Miguel Cabrera DET DH 550.7 -0.4 2.74 27 13 0.00
Seth Beer ARI 1B 553.5 0.3 NA 18 -4 0.01
Daniel Vogelbach PIT 1B 587.6 0.5 2.16 15 18 0.04
Jed Lowrie OAK IF 588.3 0.4 2.58 16 16 0.04
Nick Fortes 0 C 596.7 0.3 NA 17 -2 0.02
Jake Burger CHW 3B 597.5 0.2 NA 21 -1 0.01
Renato Núñez 0 1B 599.6 0.1 0.60 24 21 -0.01
Mitch Moreland 0 1B 600.9 0.2 1.28 22 19 0.00
Curtis Terry MIN DH 999.0 0.2 NA 20 0 -0.01
Khris Davis 0 OF 999.0 0.0 0.82 26 20 -0.02
Seiya Suzuki CHC DH 999.0 2.6 NA 3 -3 0.64
Taylor Jones HOU 1B 999.0 0.1 0.38 25 22 -0.01

Pitchers by Position

My non-normalized model scores for a player are Model_Score.

All P

Name Team Position ADP WAR Model_Score WAR_Rank Pitching_Rank Pos_Scarcity
Gerrit Cole NYY SP 6.8 4.9 5.63 3 17 0.96
Shohei Ohtani LAA SP 8.9 2.7 4.67 35 56 0.64
Corbin Burnes MIL SP 10.6 5.1 5.29 2 31 0.97
Jacob deGrom NYM SP 16.8 5.2 3.74 1 115 0.98
Walker Buehler LAD SP 17.9 3.7 5.14 10 33 0.88
Max Scherzer NYM SP 18.5 3.8 4.45 8 73 0.89
Brandon Woodruff MIL SP 20.4 4.1 4.53 7 69 0.91
Josh Hader MIL RP 30.1 1.2 2.26 122 249 0.92
Shane Bieber CLE SP 31.4 4.4 6.37 4 3 0.93
Liam Hendriks CHW RP 31.5 1.6 2.52 89 212 0.98
Julio Urías LAD SP 33.0 3.3 4.74 17 54 0.81
Zack Wheeler PHI SP 33.9 4.4 4.35 5 82 0.94
Aaron Nola PHI SP 42.0 4.1 6.18 6 4 0.92
Lucas Giolito CHW SP 42.2 3.7 5.44 9 23 0.87
Sandy Alcantara MIA SP 42.8 3.2 4.35 21 81 0.77
Raisel Iglesias LAA RP 47.5 1.0 2.62 147 192 0.82
Robbie Ray SEA SP 49.1 3.0 5.07 26 38 0.72
Freddy Peralta MIL SP 52.9 3.6 5.32 11 30 0.84
Emmanuel Clase CLE RP 57.1 1.3 2.11 111 276 0.95
Edwin Díaz NYM RP 63.2 1.0 2.79 140 173 0.87
Ryan Pressly HOU RP 64.7 1.0 2.40 148 228 0.86
Logan Webb SFG SP 68.6 3.6 5.40 12 25 0.86
Max Fried ATL SP 69.1 3.5 4.63 15 60 0.82
Joe Musgrove SDP SP 69.9 3.1 4.45 22 72 0.75
Lance Lynn CHW SP 70.1 3.3 4.21 18 90 0.80
Kevin Gausman TOR SP 70.6 3.1 5.01 23 42 0.75
José Berríos TOR SP 77.5 3.2 5.10 20 36 0.76
Dylan Cease CHW SP 79.9 3.3 6.87 16 1 0.79
Aroldis Chapman NYY RP 82.7 0.9 3.11 154 149 0.80
Jordan Romano TOR RP 84.5 0.9 2.63 161 190 0.75
Kenley Jansen ATL RP 84.6 0.7 2.36 190 239 0.64
Justin Verlander HOU SP 87.7 1.8 NA 74 -84 0.40
Trevor Rogers MIA SP 90.9 3.0 4.86 27 49 0.74
Alek Manoah TOR SP 91.7 2.7 5.64 31 16 0.66
Frankie Montas OAK SP 91.8 3.2 5.34 19 28 0.78
Charlie Morton ATL SP 92.0 2.8 4.30 29 85 0.70
Yu Darvish SDP SP 97.6 2.7 4.96 36 46 0.65
Carlos Rodón SFG SP 102.8 2.8 4.18 28 92 0.69
Shane McClanahan TBR SP 107.9 2.6 6.05 39 6 0.62
Chris Sale BOS SP 111.3 1.9 3.74 65 116 0.44
Blake Snell SDP SP 112.9 2.3 5.33 47 29 0.54
Giovanny Gallegos STL RP 113.2 1.0 2.62 141 193 0.83
Luis Castillo CIN SP 115.2 3.0 5.38 25 26 0.71
Chris Bassitt NYM SP 123.4 2.3 4.24 48 87 0.55
Nathan Eovaldi BOS SP 130.8 3.6 4.87 13 48 0.85
Mark Melancon ARI RP 132.1 0.4 2.18 286 263 0.39
Tyler Mahle CIN SP 132.7 2.5 5.96 43 11 0.59
Blake Treinen LAD RP 136.6 0.8 2.43 174 222 0.71
Pablo López MIA SP 138.2 2.7 3.99 33 102 0.65
Sean Manaea OAK SP 138.9 2.7 5.44 34 22 0.68
Luis Garcia HOU SP 140.9 1.9 5.04 69 40 0.46
Corey Knebel PHI RP 142.7 0.5 2.23 232 254 0.52
Clayton Kershaw LAD SP 142.8 2.5 3.72 41 118 0.59
Eduardo Rodriguez DET SP 144.8 3.5 6.82 14 2 0.83
Framber Valdez HOU SP 147.2 3.0 5.13 24 35 0.73
Ian Anderson ATL SP 149.5 2.1 5.02 57 41 0.49
Jack Flaherty STL SP 151.6 1.5 3.59 97 124 0.30
Logan Gilbert SEA SP 155.2 2.2 5.54 53 18 0.53
Scott Barlow KCR RP 155.8 0.9 2.87 168 168 0.76
Camilo Doval SFG RP 157.1 0.5 2.55 229 206 0.48
Shane Baz TBR SP 159.9 1.8 NA 76 -132 0.39
Michael Kopech CHW SP 160.2 2.6 4.44 38 74 0.61
Taylor Rogers MIN RP 160.8 1.1 2.61 135 194 0.91
Sonny Gray MIN SP 161.4 2.6 4.98 40 44 0.63
Mike Clevinger SDP SP 170.6 2.1 NA 59 -104 0.48
Zac Gallen ARI SP 172.1 2.2 5.79 54 14 0.53
Luis Severino NYY SP 174.5 2.1 NA 58 -94 0.51
Will Smith ATL RP 177.6 0.5 2.57 258 200 0.44
Ranger Suárez PHI SP 179.8 2.4 4.21 45 91 0.57
Marcus Stroman CHC SP 184.6 2.5 3.86 42 111 0.60
David Bednar PIT RP 186.8 0.9 2.12 155 273 0.78
Craig Kimbrel CHW RP 187.1 0.7 2.40 185 229 0.68
Adam Wainwright STL SP 190.8 2.1 3.24 55 144 0.49
Gregory Soto DET RP 191.2 0.5 2.93 238 162 0.46
Patrick Sandoval LAA SP 191.7 2.3 4.77 50 53 0.56
Tarik Skubal DET SP 193.9 2.0 6.05 62 7 0.47
Tanner Houck BOS SP 202.3 2.4 4.58 46 66 0.56
Noah Syndergaard LAA SP 202.6 1.9 NA 70 -113 0.41
Hyun Jin Ryu TOR SP 205.6 2.4 4.61 44 63 0.58
Jordan Montgomery NYY SP 207.2 2.7 4.81 32 51 0.67
José Urquidy HOU SP 210.2 1.9 3.72 67 119 0.44
Joe Barlow TEX RP 211.3 0.2 1.47 379 383 0.05
Anthony DeSclafani SFG SP 212.9 1.7 3.77 78 114 0.37
John Means BAL SP 215.9 2.6 3.36 37 136 0.62
Joe Ryan MIN SP 216.9 2.2 4.58 52 67 0.52
Alex Wood SFG SP 217.0 1.7 4.42 77 76 0.34
Trevor Bauer LAD SP 223.4 1.0 1.52 151 374 0.15
Matt Barnes BOS RP 225.5 0.8 2.92 179 164 0.70
Triston McKenzie CLE SP 226.0 1.6 4.86 92 50 0.31
Jon Gray TEX SP 228.5 2.3 6.05 49 8 0.54
Lou Trivino OAK RP 231.8 0.3 2.41 333 226 0.11
Dylan Floro MIA RP 237.3 0.4 2.12 270 275 0.33
Alex Cobb SFG SP 240.6 1.9 4.63 63 59 0.45
Andrew Kittredge TBR RP 240.6 0.8 2.45 172 220 0.72
Garrett Whitlock BOS RP 244.8 1.4 3.30 106 138 0.96
Huascar Ynoa ATL SP 245.2 1.8 4.33 73 83 0.40
Jake McGee SFG RP 248.0 0.4 1.82 273 319 0.31
Steven Matz STL SP 250.1 1.9 5.09 71 37 0.43
Bailey Ober MIN SP 257.0 2.2 4.43 51 75 0.51
Germán Márquez COL SP 259.1 2.8 5.98 30 10 0.69
Aaron Ashby MIL SP 261.5 1.5 4.09 94 94 0.28
Aaron Civale CLE SP 268.2 1.5 5.24 95 32 0.30
Casey Mize DET SP 268.3 1.7 4.00 80 98 0.35
Cal Quantrill CLE SP 268.7 1.7 4.02 79 97 0.36
Jesús Luzardo MIA SP 271.0 1.0 5.48 143 20 0.14
Lucas Sims CIN RP 273.7 0.7 2.76 191 179 0.63
Carlos Carrasco NYM SP 280.0 1.2 4.00 117 100 0.23
Devin Williams MIL RP 281.7 1.0 2.67 138 189 0.88
Drew Rasmussen TBR SP 283.2 1.7 3.54 81 128 0.34
Paul Sewald SEA RP 288.5 0.5 2.95 253 157 0.42
Cristian Javier HOU SP 288.6 1.1 3.99 127 101 0.18
Josiah Gray WSN SP 289.6 1.6 5.83 88 13 0.33
Kyle Hendricks CHC SP 290.6 1.7 5.36 82 27 0.38
Yusei Kikuchi TOR SP 294.5 1.7 5.54 86 19 0.36
Lance McCullers Jr. HOU SP 295.4 1.5 2.59 99 198 0.29
Jameson Taillon NYY SP 297.4 2.0 3.74 61 117 0.46
Tony Gonsolin LAD SP 298.0 0.9 3.95 169 104 0.12
Ken Giles SEA RP 300.7 0.4 NA 282 -85 0.28
Rowan Wick CHC RP 300.8 0.4 2.44 294 221 0.32
Eric Lauer MIL SP 306.1 1.4 4.00 105 99 0.26
Andrew Heaney LAD SP 309.4 1.4 5.43 104 24 0.25
Stephen Strasburg WSN SP 310.5 1.2 3.33 124 137 0.21
Luis Patiño TBR SP 312.6 1.5 4.57 100 68 0.27
Zack Greinke KCR SP 316.2 1.6 3.21 93 146 0.33
Corey Kluber TBR SP 324.8 1.2 4.11 120 93 0.20
Marco Gonzales SEA SP 325.3 1.7 3.98 83 103 0.38
Tylor Megill NYM SP 325.5 1.1 3.62 136 123 0.19
Elieser Hernandez MIA SP 329.3 0.9 3.94 157 105 0.13
Nestor Cortes NYY SP 329.7 1.4 3.01 108 153 0.25
Alex Colomé COL RP 332.7 0.1 2.60 420 196 -0.05
Robert Suarez SDP RP 343.8 0.4 NA 292 -121 0.36
Nick Pivetta BOS SP 353.6 1.7 6.10 85 5 0.35
Tanner Rainey WSN RP 362.2 0.2 2.89 410 167 0.08
Zach Plesac CLE SP 362.8 1.5 4.62 102 61 0.27
Michael Fulmer DET RP 367.0 0.6 2.46 216 219 0.61
Kyle Finnegan WSN RP 369.2 0.2 2.98 393 155 0.05
Anthony Bender MIA RP 372.8 0.7 2.14 181 267 0.62
Dinelson Lamet SDP RP 384.2 0.9 2.22 156 258 0.77
Drew Steckenrider SEA RP 394.4 0.3 1.79 317 321 0.18
Jonathan Loáisiga NYY RP 396.3 1.0 2.19 144 261 0.85
Reid Detmers LAA SP 399.0 1.1 4.38 133 78 0.17
Kyle Gibson PHI SP 400.6 1.9 4.98 68 43 0.42
Chad Green NYY RP 407.5 1.0 2.78 137 175 0.81
Carlos Hernández KCR SP 408.6 1.2 4.40 118 77 0.20
Chris Flexen SEA SP 410.0 1.9 4.38 64 79 0.41
Cole Sulser BAL RP 415.2 0.7 2.38 184 233 0.67
Hunter Greene CIN SP 421.7 1.0 NA 142 -46 0.16
Diego Castillo SEA RP 422.7 0.6 2.39 204 232 0.60
Art Warren CIN RP 430.2 0.8 1.63 173 361 0.73
Taijuan Walker NYM SP 430.9 0.6 3.52 220 129 0.07
Pierce Johnson SDP RP 441.4 0.6 2.00 219 291 0.56
Chris Paddack SDP SP 449.4 1.2 3.59 119 125 0.22
Ian Kennedy ARI RP 457.1 -0.1 2.13 596 270 -0.07
Alex Reyes STL RP 460.9 0.2 1.55 353 369 0.06
Patrick Corbin WSN SP 462.2 1.6 5.68 91 15 0.31
Zach Eflin PHI SP 462.9 1.9 3.72 72 120 0.45
Adrian Houser MIL SP 470.3 1.4 3.44 103 132 0.26
Dakota Hudson STL SP 472.6 1.1 NA 128 -23 0.20
Michael Pineda DET SP 474.9 1.3 2.94 113 160 0.25
Nate Pearson TOR SP 478.5 0.6 NA 218 -107 0.08
Mitch Keller PIT SP 482.0 1.3 5.13 114 34 0.24
James Kaprielian OAK SP 486.4 1.1 3.91 129 107 0.17
Rich Hill BOS SP 489.7 0.7 3.01 193 154 0.10
Jorge Alcala MIN RP 491.1 0.6 2.11 212 277 0.55
Brady Singer KCR SP 491.6 2.1 6.03 56 9 0.50
Tyler Wells BAL RP 493.4 1.3 3.06 115 150 0.93
Adbert Alzolay CHC SP 499.1 0.6 1.98 197 297 0.08
Dane Dunning TEX SP 499.8 1.9 4.59 66 65 0.42
Nick Lodolo CIN SP 501.1 1.0 NA 146 -108 0.16
James Karinchak CLE RP 505.2 0.7 3.01 188 152 0.69
Dylan Bundy MIN SP 507.9 1.3 4.62 110 62 0.24
Madison Bumgarner ARI SP 512.3 1.1 3.67 132 121 0.18
Miles Mikolas STL SP 513.2 1.6 2.97 90 156 0.32
Merrill Kelly ARI SP 513.8 1.7 4.23 84 88 0.37
Héctor Neris HOU RP 515.3 0.4 2.95 272 158 0.33
Nick Martínez SDP SP 515.3 0.7 NA 192 -110 0.10
Wade Miley CHC SP 516.5 1.2 3.89 125 110 0.21
Josh Staumont KCR RP 518.1 0.4 2.23 278 253 0.38
Chris Stratton PIT RP 519.8 0.3 2.76 311 180 0.20
Grayson Rodriguez BAL SP 520.7 0.9 NA 159 -44 0.14
Roansy Contreras NA SP 522.1 0.9 NA 167 -120 0.12
Daniel Hudson LAD RP 523.4 0.5 2.00 233 290 0.49
Brad Hand PHI RP 525.4 0.2 2.42 359 223 0.02
Edward Cabrera MIA SP 527.8 0.6 3.25 205 143 0.06
Luke Weaver ARI SP 528.8 1.1 3.46 131 130 0.19
Jordan Hicks STL RP 529.9 0.4 NA 275 -73 0.30
Matt Brash SEA SP 530.6 0.9 NA 164 -97 0.12
Pete Fairbanks TBR RP 535.2 0.5 2.23 254 252 0.43
Domingo Germán NYY SP 537.0 1.0 2.49 139 214 0.17
JT Brubaker PIT SP 538.1 1.4 4.94 107 47 0.27
Kris Bubic KCR SP 538.4 1.1 4.64 130 57 0.19
Cole Irvin OAK SP 538.9 1.5 5.06 96 39 0.29
Jake Odorizzi HOU SP 540.4 0.9 2.60 160 197 0.11
Kendall Graveman CHW RP 541.0 0.4 2.07 283 284 0.39
Sixto Sánchez NA SP 541.2 1.0 NA 149 -133 0.16
Luis Gil NYY SP 541.7 0.8 2.77 177 178 0.11
José Suarez LAA SP 542.2 1.3 3.93 112 106 0.23
Tyler Rogers SFG RP 543.5 0.5 2.09 257 281 0.47
Matt Manning DET SP 544.4 1.2 4.59 123 64 0.21
Mychal Givens CHC RP 544.6 0.1 2.56 475 204 -0.09
Mike Minor CIN SP 547.8 1.8 4.23 75 89 0.39
Emilio Pagán SDP RP 548.0 0.1 2.13 444 271 -0.04
Ryan Yarbrough TBR SP 548.2 1.5 4.07 101 95 0.28
Collin McHugh ATL RP 548.9 0.6 2.06 203 286 0.60
Michael Lorenzen LAA SP 549.6 0.6 3.56 217 126 0.06
A.J. Puk OAK RP 550.2 0.9 NA 153 0 0.79
Michael Wacha BOS SP 553.2 0.9 3.30 166 139 0.13
Carlos Estévez COL RP 554.2 0.2 2.87 360 169 0.07
Zach Thompson PIT SP 554.7 1.0 2.70 152 186 0.15
Austin Gomber COL SP 555.0 1.2 4.33 116 84 0.22
David Robertson CHC RP 557.2 0.2 NA 365 -29 0.03
Garrett Crochet CHW RP 558.8 0.8 2.34 176 242 0.74
Mike Soroka ATL SP 559.4 1.0 NA 145 -106 0.15
Reiver Sanmartin CIN SP 559.5 1.1 NA 134 -119 0.18
Tyler Anderson LAD SP 560.9 0.7 2.75 196 181 0.09
Max Meyer MIA SP 563.8 0.4 NA 288 -100 0.03
Brusdar Graterol LAD RP 566.4 0.7 2.24 182 251 0.66
Reynaldo López CHW SP 567.8 0.4 1.73 291 337 0.03
Dallas Keuchel CHW SP 568.3 1.2 4.49 121 70 0.22
Daniel Lynch KCR SP 569.1 0.7 3.40 186 133 0.10
Cade Cavalli WSN SP 569.5 0.6 NA 199 -11 0.06
Richard Rodríguez NA RP 570.0 0.0 1.52 566 375 -0.11
Trevor May NYM RP 571.6 0.4 3.05 299 151 0.38
Trevor Rosenthal NA RP 572.5 0.3 NA 347 -142 0.14
Drew Smyly CHC SP 572.9 0.5 3.29 236 142 0.05
Mitch White LAD RP 575.0 0.5 1.34 251 405 0.42
Kyle Freeland COL SP 576.8 1.5 4.63 98 58 0.30
Cody Morris CLE SP 577.2 0.6 NA 202 -15 0.08
Luis Cessa CIN RP 578.4 0.3 1.48 335 382 0.17
Spencer Howard TEX SP 579.0 1.0 4.26 150 86 0.15
Tyler Matzek ATL RP 579.3 0.6 1.46 222 387 0.62
George Kirby SEA SP 579.6 0.6 NA 208 -42 0.08
Tucker Davidson ATL SP 579.7 0.4 1.69 301 346 0.04
José Quintana PIT SP 581.4 0.9 5.45 162 21 0.11
Jordan Lyles BAL SP 581.5 0.6 4.49 211 71 0.08
Brad Keller KCR SP 581.6 1.6 5.86 87 12 0.32
Daniel Bard COL RP 581.9 0.4 3.45 268 131 0.25
Johnny Cueto NA SP 581.9 0.2 2.54 383 209 0.02
Hunter Strickland CIN RP 582.1 -0.1 1.08 595 439 -0.09
Tyler Beede SFG RP 582.2 0.0 NA 581 -144 -0.11
Andrés Muñoz SEA RP 582.5 0.4 NA 260 -4 0.23
David Price LAD RP 583.0 0.5 2.71 234 184 0.45
Tyler Duffey MIN RP 583.0 0.4 2.15 302 266 0.34
James Paxton BOS SP 584.3 0.6 NA 209 -55 0.07
Yimi García TOR RP 584.4 0.1 2.52 505 211 -0.01
Ryan Tepera LAA RP 586.0 0.4 1.78 295 324 0.34
Matthew Liberatore STL SP 586.2 0.6 NA 215 -99 0.07
Antonio Senzatela COL SP 586.4 2.0 4.79 60 52 0.48
Ross Stripling TOR SP 586.7 0.4 2.28 293 247 0.04
Vladimir Gutierrez CIN SP 587.4 0.3 4.38 349 80 0.03
Jake Diekman BOS RP 588.1 0.5 2.86 244 170 0.43
Drew Pomeranz SDP RP 588.3 0.1 0.94 442 454 -0.05
Taylor Hearn TEX SP 588.4 0.7 3.90 195 109 0.09
Amir Garrett KCR RP 588.5 0.2 2.92 355 163 0.05
Justin Dunn CIN SP 588.7 0.4 1.89 280 307 0.04
Andrew Chafin DET RP 588.9 0.6 1.43 198 393 0.57
Kyle Wright ATL SP 589.2 0.2 NA 395 -92 0.02
Brent Suter MIL RP 589.5 0.4 2.70 262 187 0.29
Matthew Boyd SFG SP 589.6 0.9 2.17 165 264 0.14
Julian Merryweather TOR RP 589.8 0.2 NA 389 -79 0.09
Glenn Otto TEX SP 590.4 0.9 3.24 158 145 0.12
Tyler Alexander DET SP 590.4 0.9 2.56 170 203 0.11
Brad Boxberger MIL RP 590.7 0.2 2.54 358 208 0.05
José Alvarado PHI RP 590.8 0.4 3.13 276 148 0.37
Daulton Jefferies OAK SP 591.4 0.8 NA 175 -26 0.10
Erick Fedde WSN SP 591.6 0.6 4.05 206 96 0.06
Caleb Smith ARI RP 592.4 0.0 2.31 515 246 -0.11
Danny Duffy LAD RP 592.5 0.3 0.69 314 479 0.12
Kyle Muller ATL SP 592.5 0.3 1.47 331 385 0.02
Steve Cishek WSN RP 592.8 0.0 1.31 574 409 -0.11
Cole Winn TEX SP 592.9 0.2 NA 363 -18 0.01
Zach Davies ARI SP 593.5 0.2 3.30 417 140 0.01
Alec Mills CHC SP 594.2 0.5 3.82 224 113 0.05
Jackson Kowar KCR SP 594.2 0.5 2.92 241 165 0.05
Dan Straily ARI SP 594.6 0.0 NA 521 -24 0.00
Génesis Cabrera STL RP 595.1 0.6 2.22 207 255 0.57
Robert Stephenson COL RP 595.8 0.0 2.26 567 250 -0.11
A.J. Alexy TEX SP 596.0 0.7 3.38 180 135 0.09
Mike Mayers LAA RP 596.0 0.5 2.69 250 188 0.50
Brent Honeywell Jr. OAK RP 596.1 0.1 NA 431 -10 -0.11
Aaron Loup LAA RP 596.2 0.3 1.33 303 407 0.21
Lucas Gilbreath COL RP 596.4 0.0 1.93 553 300 -0.11
Kwang Hyun Kim NA SP 596.6 0.3 1.69 329 349 0.02
David Peterson NYM SP 596.8 0.7 2.90 187 166 0.09
Aaron Bummer CHW RP 596.9 1.1 2.79 126 174 0.89
Hansel Robles NA RP 597.2 -0.1 2.61 594 195 -0.10
Martín Pérez TEX SP 597.3 0.8 3.55 178 127 0.10
Aníbal Sánchez WSN SP 597.4 0.1 NA 424 -6 0.00
Carlos Martínez SFG SP 597.4 0.0 1.45 517 391 0.00
Griffin Canning LAA SP 597.5 0.5 2.73 239 182 0.06
Spencer Strider ATL SP 597.5 0.2 NA 407 -134 0.02
Jeurys Familia PHI RP 597.7 0.3 2.55 322 207 0.16
Bryan Shaw CLE RP 597.8 -0.1 1.77 586 327 -0.08
Greg Holland TEX RP 597.8 0.0 1.59 529 366 -0.11
Seranthony Domínguez PHI RP 597.8 0.2 NA 406 -131 0.09
Spencer Patton TEX RP 597.8 0.1 2.07 494 285 -0.09
J.A. Happ NA SP 598.0 0.5 3.38 240 134 0.05
Garrett Richards TEX RP 598.2 0.4 2.49 271 215 0.28
Sammy Long SFG SP 598.2 0.2 1.81 404 320 0.02
Tanner Scott BAL RP 598.2 0.7 2.85 194 171 0.65
Anthony Bass MIA RP 598.4 0.1 1.69 425 347 -0.08
J.P. Feyereisen TBR RP 598.4 -0.1 2.07 598 283 -0.09
Luke Jackson ATL RP 598.6 0.4 1.77 285 328 0.26
Ryne Stanek HOU RP 598.6 0.2 2.48 402 216 0.02
Wil Crowe PIT SP 598.6 0.1 3.85 503 112 0.00
Julian Fernández NA RP 598.7 0.0 NA 546 -78 -0.11
Paolo Espino WSN SP 598.7 0.2 2.57 399 201 0.01
Tony Santillan CIN RP 598.7 0.4 2.37 298 235 0.35
Tyler Gilbert ARI SP 598.7 0.3 1.31 348 410 0.03
Adam Ottavino NYM RP 598.8 0.2 3.18 352 147 0.03
Bruce Zimmermann BAL SP 598.8 1.3 4.67 109 55 0.23
Dylan Coleman KCR RP 598.9 0.5 NA 237 -35 0.54
Seth Lugo NYM RP 598.9 0.4 2.77 297 176 0.37
Chris Archer MIN SP 599.1 0.6 NA 200 -14 0.07
Will Harris WSN RP 599.1 0.3 NA 350 -146 0.18
Vince Velasquez CHW SP 599.2 0.2 2.14 414 268 0.01
Craig Stammen SDP RP 599.3 0.4 1.70 266 344 0.29
Domingo Acevedo OAK RP 599.3 0.3 NA 316 -33 0.16
Sean Doolittle WSN RP 599.3 0.1 1.91 489 304 -0.08
Touki Toussaint NA SP 599.3 0.1 1.18 497 426 0.00
Trevor Gott MIL RP 599.3 0.0 NA 580 -141 -0.11
Cole Hamels NA SP 599.5 0.1 NA 436 -17 0.00
A.J. Minter ATL RP 599.6 0.5 2.22 223 257 0.51
Alex Vesia LAD RP 599.6 0.3 1.99 305 294 0.20
Brad Wieck CHC RP 599.6 0.1 NA 429 -9 -0.03
Jake Woodford STL SP 599.6 0.0 1.74 538 332 0.00
Matt Wisler TBR RP 599.6 0.4 2.40 287 230 0.25
Tim Mayza TOR RP 599.6 0.6 2.10 221 280 0.59
Justin Steele CHC SP 599.7 0.5 2.81 248 172 0.04
Trevor Richards TOR RP 599.7 0.4 2.31 300 245 0.32
Nick Sandlin CLE RP 599.8 0.5 1.63 252 362 0.49
Yohan Ramirez SEA RP 599.8 0.1 1.14 506 432 -0.09
Cody Stashak MIN RP 599.9 0.5 NA 231 -16 0.40
Deivi García NYY SP 599.9 0.1 NA 440 -30 0.00
Jorge López BAL RP 599.9 0.3 2.10 324 278 0.21
Lewis Thorpe NA SP 599.9 0.3 NA 332 -93 0.03
Scott Effross CHC RP 599.9 0.2 NA 405 -129 0.06
Clay Holmes NYY RP 600.0 0.6 2.18 201 262 0.58
Heath Hembree PIT RP 600.0 0.2 2.71 372 185 0.07
Justus Sheffield SEA SP 600.0 0.4 2.94 281 161 0.03
Keegan Akin BAL SP 600.0 0.9 3.91 163 108 0.13
Miguel Yajure PIT SP 600.1 0.1 NA 474 -102 0.00
D.L. Hall NA SP 600.2 0.4 NA 267 -22 0.04
Sean Newcomb ATL RP 600.2 0.1 1.93 491 299 -0.06
Griffin Jax MIN SP 600.3 0.0 1.98 530 295 0.00
José Leclerc TEX RP 600.3 0.2 NA 386 -74 0.00
Kervin Castro SFG RP 600.3 0.2 NA 391 -87 0.10
Austin Voth WSN RP 600.4 0.0 2.47 513 218 -0.11
Deolis Guerra OAK RP 600.4 0.2 1.44 366 392 0.06
Josh Fleming TBR SP 600.4 0.6 3.29 213 141 0.07
Julio Teheran NA SP 600.4 -0.1 NA 603 -80 0.00
Nick Wittgren STL RP 600.4 0.1 1.99 478 293 -0.05
Phil Bickford LAD RP 600.4 0.4 1.68 289 350 0.26
Ryan Helsley STL RP 600.4 0.1 2.40 485 227 -0.03
Bailey Falter PHI RP 600.5 0.5 1.78 226 325 0.52
Drew VerHagen STL RP 600.5 0.2 NA 369 -34 0.04
Hunter Harvey WSN RP 600.5 0.1 NA 451 -47 -0.09
J.B. Bukauskas ARI RP 600.5 -0.1 NA 597 -51 -0.06
Jakob Junis SFG RP 600.5 0.2 2.10 374 279 0.02
José Álvarez SFG RP 600.5 0.1 0.80 465 465 -0.02
JT Chargois TBR RP 600.5 0.3 1.73 327 336 0.19
Sergio Romo SEA RP 600.5 0.1 1.92 493 302 -0.11
Austin Adams SDP RP 600.6 0.3 1.65 307 359 0.22
Brooks Raley TBR RP 600.6 0.3 2.02 308 289 0.14
Bryse Wilson PIT SP 600.6 0.5 3.66 228 122 0.05
Chris Martin CHC RP 600.6 0.4 1.70 264 343 0.27
Dauri Moreta CIN RP 600.6 0.1 NA 438 -27 -0.03
Demarcus Evans NA RP 600.6 0.0 1.73 524 334 -0.11
Eli Morgan CLE SP 600.6 0.2 2.26 370 248 0.01
J.B. Wendelken ARI RP 600.6 0.2 2.47 373 217 0.04
Jake Cousins MIL RP 600.6 0.5 1.76 243 329 0.46
Joe Kelly CHW RP 600.6 0.4 1.50 274 379 0.36
Josh Taylor BOS RP 600.6 0.5 1.86 247 312 0.47
Kolby Allard TEX RP 600.6 0.3 1.59 328 365 0.13
Michael King NYY RP 600.6 0.5 1.55 249 370 0.50
Taylor Widener ARI RP 600.6 0.0 1.78 578 323 -0.11
Zack Littell SFG RP 600.6 0.1 1.73 508 335 -0.04
Aaron Sanchez WSN SP 600.7 0.0 0.83 510 461 0.00
Adam Cimber TOR RP 600.7 0.3 1.28 304 416 0.19
Casey Sadler SEA RP 600.7 0.3 0.38 310 487 0.19
Connor Brogdon PHI RP 600.7 0.4 1.89 265 309 0.31
Erik Swanson SEA RP 600.7 0.3 1.08 318 443 0.14
Hirokazu Sawamura BOS RP 600.7 0.0 2.56 531 202 -0.11
Jake Brentz KCR RP 600.7 0.3 2.39 320 231 0.15
Joe Ross WSN SP 600.7 0.7 1.91 189 303 0.09
Louis Head MIA RP 600.7 0.3 0.79 334 467 0.12
Randy Dobnak MIN SP 600.7 0.5 1.70 255 342 0.04
Richard Bleier MIA RP 600.7 0.5 0.90 256 457 0.44
Archie Bradley LAA RP 600.8 0.2 2.16 356 265 0.03
Chad Kuhl COL SP 600.8 0.2 2.37 361 236 0.01
Colin Poche TBR RP 600.8 0.3 NA 312 -19 0.21
Dillon Peters PIT SP 600.8 0.0 2.77 527 177 0.00
Dominic Leone SFG RP 600.8 0.1 1.66 441 356 -0.04
Jarlín García SFG RP 600.8 0.0 1.72 539 339 -0.11
Jharel Cotton MIN RP 600.8 0.1 1.15 459 431 -0.02
Josh Rogers WSN SP 600.8 -0.1 1.42 602 395 0.00
Logan Allen CLE SP 600.8 0.0 1.74 552 333 0.00
Peter Lambert COL SP 600.8 0.3 NA 340 -117 0.03
Ryan Weathers SDP SP 600.8 0.2 1.51 401 377 0.02
Tyler Clippard NA RP 600.8 -0.2 1.28 630 413 -0.03
Wily Peralta DET SP 600.8 0.1 1.08 504 442 0.00
Yonny Chirinos TBR SP 600.8 0.5 NA 259 -148 0.05
Brett Anderson NA SP 600.9 0.5 1.79 227 322 0.05
Ethan Small MIL SP 600.9 0.3 NA 319 -37 0.03
Joan Adon WSN SP 600.9 0.1 NA 460 -65 0.00
Joely Rodríguez NYY RP 600.9 0.6 2.41 210 225 0.55
Jordan Balazovic NA SP 600.9 0.2 NA 385 -72 0.01
Josh Sborz TEX RP 600.9 0.3 2.33 325 243 0.17
Miguel Castro NYM RP 600.9 0.1 1.83 473 317 -0.03
Phil Maton HOU RP 600.9 0.4 2.95 290 159 0.35
Sam Coonrod PHI RP 600.9 0.4 2.03 296 287 0.24
Steven Brault CHC SP 600.9 0.1 1.68 495 353 0.00
Tommy Kahnle LAD RP 600.9 0.2 NA 411 -140 0.10
Andre Jackson NA SP 601.0 0.1 NA 422 -3 0.00
Anthony Gose CLE RP 601.0 -0.3 NA 632 -7 -0.01
Dillon Tate BAL RP 601.0 0.4 1.72 269 340 0.35
Grant Holmes OAK RP 601.0 -0.1 NA 593 -43 -0.11
Josh James NA RP 601.0 0.2 NA 388 -75 0.08
Mike Foltynewicz NA SP 601.0 -0.1 1.92 608 301 0.00
Noé Ramirez ARI RP 601.0 0.1 1.12 479 437 -0.09
Ryan Brasier BOS RP 601.0 0.0 NA 569 -123 -0.11
Ryan Rolison NA SP 601.0 0.3 NA 341 -125 0.02
Trevor Williams NYM RP 601.0 0.2 2.09 413 282 0.01
Yusmeiro Petit NA RP 601.0 -0.3 1.40 637 396 -0.02
Aaron Fletcher PIT RP 999.0 0.0 NA 509 -1 -0.11
Adam Morgan NA RP 999.0 0.1 1.46 419 388 -0.11
Adam Oller OAK SP 999.0 0.2 NA 351 -2 0.01
Adrian Sampson CHC SP 999.0 -0.2 0.35 618 488 0.00
Albert Abreu NYY RP 999.0 -0.1 1.85 583 314 -0.10
Alex Claudio NYM RP 999.0 0.0 1.35 511 403 -0.11
Alex Lange DET RP 999.0 0.1 1.78 421 326 -0.02
Alexander Wells NA RP 999.0 0.2 1.86 354 313 0.10
Andres Machado WSN RP 999.0 -0.2 1.13 619 434 -0.05
Andrew Miller NA RP 999.0 -0.1 1.28 584 414 -0.07
Andrew Wantz LAA RP 999.0 0.4 2.32 261 244 0.26
Angel Perdomo NA RP 999.0 0.1 NA 423 -5 -0.06
Anthony Banda PIT RP 999.0 -0.2 2.35 620 240 -0.05
Anthony Misiewicz SEA RP 999.0 0.3 2.22 306 256 0.15
Ashton Goudeau COL RP 999.0 -0.2 0.75 621 474 -0.03
Austin Davis BOS RP 999.0 0.2 1.73 357 338 0.09
Austin Pruitt NA RP 999.0 0.0 NA 512 -8 -0.11
Austin Warren LAA RP 999.0 0.5 1.83 225 316 0.40
Ben Bowden COL RP 999.0 0.1 1.47 426 384 -0.08
Blake Parker NA RP 999.0 0.1 1.02 427 449 -0.09
Blake Taylor HOU RP 999.0 0.1 1.68 428 352 -0.02
Brad Brach ATL RP 999.0 -0.1 1.42 585 394 -0.11
Brandon Bielak HOU RP 999.0 0.1 1.39 430 400 -0.02
Brandon Kintzler NA RP 999.0 0.0 1.40 514 399 -0.11
Brandon Workman NA RP 999.0 -0.2 1.15 622 428 -0.05
Brett Martin TEX RP 999.0 0.4 1.67 263 354 0.27
Bryan Abreu HOU RP 999.0 0.1 1.25 432 418 -0.04
Bryan Garcia NA RP 999.0 -0.2 1.49 623 380 -0.03
Buck Farmer NA RP 999.0 -0.1 1.18 587 427 -0.06
Caleb Ferguson LAD RP 999.0 0.3 NA 309 -12 0.22
Caleb Thielbar MIN RP 999.0 0.7 2.12 183 274 0.67
Cam Bedrosian PHI RP 999.0 0.0 0.62 516 481 -0.11
Charlie Barnes NA SP 999.0 0.1 1.22 433 422 0.00
Chase Anderson NA SP 999.0 0.0 0.59 518 482 0.00
Chasen Shreve NYM RP 999.0 -0.1 0.59 588 483 -0.07
Chaz Roe NA RP 999.0 0.0 NA 519 -13 -0.11
Chi Chi González NA SP 999.0 -0.3 2.12 633 272 0.00
Chris Mazza TBR SP 999.0 0.2 0.68 362 480 0.01
Cionel Pérez BAL RP 999.0 0.5 2.03 230 288 0.41
Cody Ponce NA SP 999.0 0.1 1.50 434 378 0.00
Cody Poteet MIA RP 999.0 0.1 1.06 435 446 -0.11
Cory Abbott NA SP 999.0 0.0 NA 520 -20 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 313 -21 0.02
Dan Winkler TEX RP 999.0 -0.1 0.88 589 458 -0.06
Daniel Norris CHC RP 999.0 0.2 2.35 364 241 0.02
Danny Coulombe MIN RP 999.0 0.1 0.95 437 452 -0.08
Darren O'Day ATL RP 999.0 0.0 NA 522 -25 -0.11
Darwinzon Hernandez BOS RP 999.0 0.3 1.98 315 296 0.11
David Phelps TOR RP 999.0 0.1 NA 439 -28 -0.06
Dean Kremer BAL SP 999.0 0.5 2.56 235 205 0.06
Dellin Betances NA RP 999.0 0.0 NA 523 -31 -0.11
Dennis Santana TEX RP 999.0 0.0 1.56 525 368 -0.11
Derek Holland BOS RP 999.0 -0.1 1.32 590 408 -0.07
Devin Smeltzer MIN SP 999.0 0.2 NA 367 -32 0.02
Dillon Maples NA RP 999.0 0.0 0.54 526 485 -0.11
Domingo Tapia KCR RP 999.0 -0.1 1.19 591 424 -0.09
Drew Smith NYM RP 999.0 0.2 1.45 368 390 0.01
Duane Underwood Jr. PIT RP 999.0 0.1 1.85 443 315 -0.11
Enyel De Los Santos CLE RP 999.0 0.1 1.36 445 402 -0.01
Erasmo Ramírez NA RP 999.0 -0.3 0.57 634 484 -0.02
Eric Hanhold NA RP 999.0 -0.1 NA 592 -36 -0.06
Ervin Santana NA RP 999.0 -0.4 1.08 638 440 0.00
Evan Phillips LAD RP 999.0 0.1 NA 446 -38 -0.07
Fernando Abad NA RP 999.0 0.0 NA 528 -39 -0.11
Francisco Perez WSN RP 999.0 0.1 NA 447 -40 -0.02
Gabe Speier KCR RP 999.0 0.2 NA 371 -41 0.09
Hans Crouse NA SP 999.0 0.1 NA 448 -45 0.00
Hoby Milner MIL RP 999.0 0.1 0.95 449 451 -0.08
Humberto Castellanos ARI SP 999.0 0.1 0.81 450 464 0.00
Ian Gibaut CLE RP 999.0 0.0 NA 532 -48 -0.11
Ian Krol SDP RP 999.0 0.0 NA 533 -49 -0.11
Isaac Mattson BAL RP 999.0 0.0 NA 534 -50 -0.11
J.C. Mejía MIL RP 999.0 0.0 2.42 535 224 -0.11
Jace Fry WSN RP 999.0 0.1 NA 452 -52 -0.05
Jacob Barnes DET RP 999.0 0.1 1.30 453 411 -0.05
Jacob Webb NA RP 999.0 0.0 1.54 536 371 -0.11
Jaime Barría LAA SP 999.0 0.5 2.63 242 191 0.04
Jake Arrieta NA SP 999.0 0.0 1.68 537 351 0.00
Jake Reed NYM RP 999.0 0.1 NA 454 -53 -0.06
Jalen Beeks TBR RP 999.0 0.2 NA 375 -54 0.04
Jandel Gustave MIL RP 999.0 0.1 NA 455 -56 -0.04
Janson Junk LAA SP 999.0 0.1 NA 456 -57 0.00
Jason Foley DET RP 999.0 -0.1 NA 599 -58 -0.08
Javy Guerra SDP RP 999.0 0.2 NA 376 -59 0.04
Jay Jackson ATL RP 999.0 0.1 1.56 457 367 -0.07
JD Hammer COL RP 999.0 0.1 1.19 458 425 -0.08
Jeff Hoffman CIN RP 999.0 0.0 2.37 540 237 -0.11
Jeffrey Springs TBR RP 999.0 0.3 1.69 321 348 0.17
Jerad Eickhoff PIT RP 999.0 -0.1 NA 600 -60 -0.09
Jesse Chavez NA RP 999.0 0.0 1.26 541 417 -0.11
Jesse Hahn NA RP 999.0 -0.2 NA 624 -61 -0.04
Jhonathan Diaz NA RP 999.0 0.2 NA 377 -62 0.08
Jhoulys Chacín COL RP 999.0 -0.4 1.49 639 381 0.00
Jimmy Herget LAA RP 999.0 0.0 NA 542 -63 -0.11
Jimmy Lambert NA SP 999.0 0.2 NA 378 -64 0.01
Joe Jiménez DET RP 999.0 0.2 2.54 380 210 0.07
Joe Mantiply ARI RP 999.0 0.2 1.23 381 420 0.03
Joe Smith MIN RP 999.0 0.1 1.76 461 330 -0.01
Joel Payamps KCR RP 999.0 0.3 0.77 323 471 0.12
Joey Krehbiel BAL RP 999.0 0.0 NA 543 -66 -0.11
Johan Oviedo NA SP 999.0 0.2 1.62 382 363 0.01
John Brebbia SFG RP 999.0 0.1 NA 462 -67 -0.04
John King TEX RP 999.0 0.5 1.90 245 305 0.53
Jon Heasley KCR SP 999.0 0.2 NA 384 -68 0.01
Jonathan Hernández TEX RP 999.0 0.1 NA 463 -69 -0.03
Jonathan Holder CHC RP 999.0 0.0 NA 544 -70 -0.11
Jonathan Stiever CHW SP 999.0 0.1 NA 464 -71 0.00
Jordan Holloway NA RP 999.0 -0.1 1.21 601 423 -0.08
Jordan Sheffield COL RP 999.0 -0.2 0.77 625 472 -0.05
José Cisnero DET RP 999.0 0.4 2.59 277 199 0.24
José Quijada LAA RP 999.0 0.5 1.90 246 306 0.53
José Ruiz CHW RP 999.0 0.2 0.87 387 459 0.00
José Ureña MIL SP 999.0 0.0 1.64 545 360 0.00
Josh Tomlin NA RP 999.0 -0.3 1.69 635 345 -0.01
Josh Winder MIN SP 999.0 0.4 NA 279 -76 0.04
Jovani Moran MIN RP 999.0 0.3 NA 326 -77 0.20
Juan Minaya MIN RP 999.0 0.1 1.04 466 447 -0.08
Junior Fernández NA RP 999.0 0.1 0.80 467 466 -0.10
Junior Guerra NA RP 999.0 -0.1 1.40 604 398 -0.11
Justin Anderson TEX RP 999.0 0.0 NA 547 -81 -0.11
Justin Bruihl LAD RP 999.0 0.2 NA 390 -82 0.01
Justin Garza CLE RP 999.0 -0.1 1.11 605 438 -0.08
Justin Lawrence COL RP 999.0 0.0 NA 548 -83 -0.11
Justin Wilson CIN RP 999.0 0.1 1.82 468 318 -0.05
Keegan Thompson CHC RP 999.0 0.0 2.36 549 238 -0.11
Keone Kela ARI RP 999.0 0.0 NA 550 -86 -0.11
Keynan Middleton NA RP 999.0 -0.1 0.91 606 456 -0.08
Kirby Snead OAK RP 999.0 0.4 NA 284 -88 0.30
Kodi Whitley STL RP 999.0 0.2 0.82 392 462 0.00
Kohei Arihara TEX SP 999.0 0.0 0.72 551 477 0.00
Konnor Pilkington CLE RP 999.0 0.1 NA 469 -89 -0.11
Kyle Bradish NA SP 999.0 0.3 NA 330 -90 0.02
Kyle Funkhouser DET RP 999.0 0.1 2.51 470 213 -0.06
Kyle McGowin NA RP 999.0 0.2 1.12 394 436 0.07
Kyle Tyler NA RP 999.0 -0.2 NA 626 -91 -0.04
Kyle Zimmer NA RP 999.0 -0.2 1.65 627 358 -0.04
MacKenzie Gore SDP SP 999.0 0.6 NA 214 -95 0.07
Manuel Rodríguez CHC RP 999.0 0.1 NA 471 -96 -0.02
Mason Thompson WSN RP 999.0 0.0 1.03 554 448 -0.11
Matt Foster CHW RP 999.0 0.1 1.33 472 406 -0.03
Matt Harvey NA SP 999.0 0.3 1.51 336 376 0.03
Matt Moore TEX RP 999.0 -0.1 0.78 607 469 -0.08
Matt Peacock ARI RP 999.0 0.0 0.76 555 473 -0.11
Matt Shoemaker NA SP 999.0 0.0 1.13 556 433 0.00
Matt Strahm BOS RP 999.0 0.2 NA 396 -98 0.05
Max Kranick PIT SP 999.0 0.3 1.65 337 357 0.03
Michael Feliz BOS RP 999.0 0.0 1.13 557 435 -0.11
Michael Rucker CHC RP 999.0 0.0 1.40 558 397 -0.11
Miguel Del Pozo DET RP 999.0 0.2 NA 397 -101 0.00
Miguel Sánchez MIL RP 999.0 0.0 1.06 559 445 -0.11
Mike Baumann BAL RP 999.0 0.0 NA 560 -103 -0.11
Mike Fiers NA SP 999.0 -0.3 NA 636 -105 0.00
Nabil Crismatt SDP RP 999.0 0.0 1.37 561 401 -0.11
Nick Margevicius SEA SP 999.0 0.2 NA 398 -109 0.01
Nick Mears PIT RP 999.0 0.0 1.35 562 404 -0.11
Nick Neidert NA RP 999.0 -0.2 0.73 628 476 -0.04
Nick Nelson PHI RP 999.0 0.1 NA 476 -111 -0.08
Nick Snyder TEX RP 999.0 0.1 NA 477 -112 -0.07
Oliver Drake TBR RP 999.0 0.1 NA 480 -114 -0.03
Oliver Pérez ARI RP 999.0 0.0 NA 563 -115 -0.11
Packy Naughton NA SP 999.0 0.3 1.15 338 430 0.03
Patrick Murphy WSN RP 999.0 0.3 1.88 339 310 0.23
Paul Blackburn OAK SP 999.0 0.2 1.08 400 441 0.01
Pedro Báez HOU RP 999.0 -0.2 NA 629 -116 -0.02
Peter Solomon HOU RP 999.0 0.1 NA 481 -118 -0.10
Phillips Valdez BOS RP 999.0 -0.1 0.96 609 450 -0.10
Rafael Dolis NA RP 999.0 0.0 2.21 564 259 -0.11
Rafael Montero HOU RP 999.0 0.1 1.97 482 298 -0.07
Ralph Garza Jr. NA RP 999.0 -0.1 0.78 610 470 -0.09
Rex Brothers MIL RP 999.0 0.0 0.92 565 455 -0.11
Robert Gsellman CHC RP 999.0 -0.1 0.50 611 486 -0.07
Rony García DET RP 999.0 -0.1 NA 612 -122 -0.07
Ross Detwiler NA RP 999.0 0.0 1.52 568 373 -0.11
Ryan Borucki TOR RP 999.0 0.1 1.25 483 419 -0.01
Ryan Burr CHW RP 999.0 0.0 1.07 570 444 -0.11
Ryan Feltner NA SP 999.0 0.1 NA 484 -124 0.00
Ryan Hendrix CIN RP 999.0 0.0 1.89 571 308 -0.11
Ryan Sherriff PHI RP 999.0 0.1 NA 486 -126 -0.05
Ryan Thompson TBR RP 999.0 0.3 1.54 342 372 0.22
Ryne Harper NA RP 999.0 0.1 0.79 487 468 -0.09
Ryne Nelson ARI SP 999.0 0.1 NA 488 -127 0.00
Sam Hentges CLE RP 999.0 0.3 2.72 343 183 0.11
Sam Howard PIT RP 999.0 0.2 2.20 403 260 0.09
Sam Moll OAK RP 999.0 0.0 NA 572 -128 -0.11
Sam Selman OAK RP 999.0 0.0 0.74 573 475 -0.11
Scott Kazmir NA SP 999.0 -0.1 NA 613 -130 0.00
Sean Guenther MIA RP 999.0 0.1 0.86 490 460 -0.01
Sean Poppen ARI RP 999.0 0.3 1.67 344 355 0.13
Sean Reid-Foley NYM RP 999.0 0.1 1.71 492 341 -0.10
Steven Okert MIA RP 999.0 0.2 1.28 408 415 0.10
T.J. McFarland STL RP 999.0 0.2 0.95 409 453 -0.01
T.J. Zeuch NA RP 999.0 0.0 NA 575 -135 -0.11
Tanner Roark NA SP 999.0 0.0 NA 576 -136 0.00
Taylor Clarke KCR RP 999.0 0.0 1.62 577 364 -0.11
Thomas Hatch NA RP 999.0 0.1 NA 496 -137 -0.07
Tim Hill SDP RP 999.0 0.3 1.99 345 292 0.16
Tobias Myers CLE SP 999.0 0.3 NA 346 -138 0.02
Tommy Hunter NA RP 999.0 0.0 NA 579 -139 -0.11
Tony Watson NA RP 999.0 -0.1 1.23 614 421 -0.11
Trent Thornton TOR RP 999.0 0.1 1.29 498 412 -0.04
Trevor Cahill NA SP 999.0 0.2 1.15 412 429 0.01
Trevor Stephan CLE RP 999.0 0.1 2.37 499 234 -0.07
Trey Wingenter CIN RP 999.0 0.1 NA 500 -143 -0.02
Tyler Kinley COL RP 999.0 0.1 1.87 501 311 -0.11
Tyler Thornburg ATL RP 999.0 -0.2 NA 631 -145 -0.03
Wade LeBlanc NA SP 999.0 0.1 0.81 502 463 0.00
Wander Suero NA RP 999.0 0.2 1.46 415 386 0.08
Wandy Peralta NYY RP 999.0 0.2 2.13 416 269 0.06
Yency Almonte LAD RP 999.0 -0.1 1.46 615 389 -0.06
Yennsy Díaz NA RP 999.0 -0.1 0.72 616 478 -0.06
Yoan López NA RP 999.0 0.0 NA 582 -147 -0.11
Zac Lowther BAL SP 999.0 0.9 4.97 171 45 0.14
Zach Logue NA SP 999.0 0.1 NA 507 -149 0.00
Zach Pop MIA RP 999.0 0.2 1.75 418 331 0.01
Zack Burdi NA RP 999.0 -0.1 NA 617 -150 -0.09

SP

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Gerrit Cole NYY SP 6.8 4.9 5.63 3 17 0.96
Shohei Ohtani LAA SP 8.9 2.7 4.67 35 56 0.64
Corbin Burnes MIL SP 10.6 5.1 5.29 2 31 0.97
Jacob deGrom NYM SP 16.8 5.2 3.74 1 115 0.98
Walker Buehler LAD SP 17.9 3.7 5.14 10 33 0.88
Max Scherzer NYM SP 18.5 3.8 4.45 8 73 0.89
Brandon Woodruff MIL SP 20.4 4.1 4.53 7 69 0.91
Shane Bieber CLE SP 31.4 4.4 6.37 4 3 0.93
Julio Urías LAD SP 33.0 3.3 4.74 17 54 0.81
Zack Wheeler PHI SP 33.9 4.4 4.35 5 82 0.94
Aaron Nola PHI SP 42.0 4.1 6.18 6 4 0.92
Lucas Giolito CHW SP 42.2 3.7 5.44 9 23 0.87
Sandy Alcantara MIA SP 42.8 3.2 4.35 21 81 0.77
Robbie Ray SEA SP 49.1 3.0 5.07 26 38 0.72
Freddy Peralta MIL SP 52.9 3.6 5.32 11 30 0.84
Logan Webb SFG SP 68.6 3.6 5.40 12 25 0.86
Max Fried ATL SP 69.1 3.5 4.63 15 60 0.82
Joe Musgrove SDP SP 69.9 3.1 4.45 22 72 0.75
Lance Lynn CHW SP 70.1 3.3 4.21 18 90 0.80
Kevin Gausman TOR SP 70.6 3.1 5.01 23 42 0.75
José Berríos TOR SP 77.5 3.2 5.10 20 36 0.76
Dylan Cease CHW SP 79.9 3.3 6.87 16 1 0.79
Justin Verlander HOU SP 87.7 1.8 NA 74 -30 0.40
Trevor Rogers MIA SP 90.9 3.0 4.86 27 49 0.74
Alek Manoah TOR SP 91.7 2.7 5.64 31 16 0.66
Frankie Montas OAK SP 91.8 3.2 5.34 19 28 0.78
Charlie Morton ATL SP 92.0 2.8 4.30 29 85 0.70
Yu Darvish SDP SP 97.6 2.7 4.96 36 46 0.65
Carlos Rodón SFG SP 102.8 2.8 4.18 28 92 0.69
Shane McClanahan TBR SP 107.9 2.6 6.05 39 6 0.62
Chris Sale BOS SP 111.3 1.9 3.74 65 116 0.44
Blake Snell SDP SP 112.9 2.3 5.33 47 29 0.54
Luis Castillo CIN SP 115.2 3.0 5.38 25 26 0.71
Chris Bassitt NYM SP 123.4 2.3 4.24 48 87 0.55
Nathan Eovaldi BOS SP 130.8 3.6 4.87 13 48 0.85
Tyler Mahle CIN SP 132.7 2.5 5.96 43 11 0.59
Pablo López MIA SP 138.2 2.7 3.99 33 102 0.65
Sean Manaea OAK SP 138.9 2.7 5.44 34 22 0.68
Luis Garcia HOU SP 140.9 1.9 5.04 69 40 0.46
Clayton Kershaw LAD SP 142.8 2.5 3.72 41 118 0.59
Eduardo Rodriguez DET SP 144.8 3.5 6.82 14 2 0.83
Framber Valdez HOU SP 147.2 3.0 5.13 24 35 0.73
Ian Anderson ATL SP 149.5 2.1 5.02 57 41 0.49
Jack Flaherty STL SP 151.6 1.5 3.59 96 124 0.30
Logan Gilbert SEA SP 155.2 2.2 5.54 53 18 0.53
Shane Baz TBR SP 159.9 1.8 NA 76 -55 0.39
Michael Kopech CHW SP 160.2 2.6 4.44 38 74 0.61
Sonny Gray MIN SP 161.4 2.6 4.98 40 44 0.63
Mike Clevinger SDP SP 170.6 2.1 NA 59 -40 0.48
Zac Gallen ARI SP 172.1 2.2 5.79 54 14 0.53
Luis Severino NYY SP 174.5 2.1 NA 58 -34 0.51
Ranger Suárez PHI SP 179.8 2.4 4.21 45 91 0.57
Marcus Stroman CHC SP 184.6 2.5 3.86 42 111 0.60
Adam Wainwright STL SP 190.8 2.1 3.24 55 142 0.49
Patrick Sandoval LAA SP 191.7 2.3 4.77 50 53 0.56
Tarik Skubal DET SP 193.9 2.0 6.05 62 7 0.47
Tanner Houck BOS SP 202.3 2.4 4.58 46 66 0.56
Noah Syndergaard LAA SP 202.6 1.9 NA 70 -47 0.41
Hyun Jin Ryu TOR SP 205.6 2.4 4.61 44 63 0.58
Jordan Montgomery NYY SP 207.2 2.7 4.81 32 51 0.67
José Urquidy HOU SP 210.2 1.9 3.72 67 119 0.44
Anthony DeSclafani SFG SP 212.9 1.7 3.77 78 114 0.37
John Means BAL SP 215.9 2.6 3.36 37 135 0.62
Joe Ryan MIN SP 216.9 2.2 4.58 52 67 0.52
Alex Wood SFG SP 217.0 1.7 4.42 77 76 0.34
Trevor Bauer LAD SP 223.4 1.0 1.52 137 190 0.15
Triston McKenzie CLE SP 226.0 1.6 4.86 91 50 0.31
Jon Gray TEX SP 228.5 2.3 6.05 49 8 0.54
Alex Cobb SFG SP 240.6 1.9 4.63 63 59 0.45
Huascar Ynoa ATL SP 245.2 1.8 4.33 73 83 0.40
Steven Matz STL SP 250.1 1.9 5.09 71 37 0.43
Bailey Ober MIN SP 257.0 2.2 4.43 51 75 0.51
Germán Márquez COL SP 259.1 2.8 5.98 30 10 0.69
Aaron Ashby MIL SP 261.5 1.5 4.09 93 94 0.28
Aaron Civale CLE SP 268.2 1.5 5.24 94 32 0.30
Casey Mize DET SP 268.3 1.7 4.00 80 98 0.35
Cal Quantrill CLE SP 268.7 1.7 4.02 79 97 0.36
Jesús Luzardo MIA SP 271.0 1.0 5.48 132 20 0.14
Carlos Carrasco NYM SP 280.0 1.2 4.00 113 100 0.23
Drew Rasmussen TBR SP 283.2 1.7 3.54 81 128 0.34
Cristian Javier HOU SP 288.6 1.1 3.99 121 101 0.18
Josiah Gray WSN SP 289.6 1.6 5.83 88 13 0.33
Kyle Hendricks CHC SP 290.6 1.7 5.36 82 27 0.38
Yusei Kikuchi TOR SP 294.5 1.7 5.54 86 19 0.36
Lance McCullers Jr. HOU SP 295.4 1.5 2.59 98 160 0.29
Jameson Taillon NYY SP 297.4 2.0 3.74 61 117 0.46
Tony Gonsolin LAD SP 298.0 0.9 3.95 149 104 0.12
Eric Lauer MIL SP 306.1 1.4 4.00 104 99 0.26
Andrew Heaney LAD SP 309.4 1.4 5.43 103 24 0.25
Stephen Strasburg WSN SP 310.5 1.2 3.33 119 136 0.21
Luis Patiño TBR SP 312.6 1.5 4.57 99 68 0.27
Zack Greinke KCR SP 316.2 1.6 3.21 92 144 0.33
Corey Kluber TBR SP 324.8 1.2 4.11 116 93 0.20
Marco Gonzales SEA SP 325.3 1.7 3.98 83 103 0.38
Tylor Megill NYM SP 325.5 1.1 3.62 129 123 0.19
Elieser Hernandez MIA SP 329.3 0.9 3.94 139 105 0.13
Nestor Cortes NYY SP 329.7 1.4 3.01 106 145 0.25
Nick Pivetta BOS SP 353.6 1.7 6.10 85 5 0.35
Zach Plesac CLE SP 362.8 1.5 4.62 101 61 0.27
Reid Detmers LAA SP 399.0 1.1 4.38 127 78 0.17
Kyle Gibson PHI SP 400.6 1.9 4.98 68 43 0.42
Carlos Hernández KCR SP 408.6 1.2 4.40 114 77 0.20
Chris Flexen SEA SP 410.0 1.9 4.38 64 79 0.41
Hunter Greene CIN SP 421.7 1.0 NA 131 -20 0.16
Taijuan Walker NYM SP 430.9 0.6 3.52 177 129 0.07
Chris Paddack SDP SP 449.4 1.2 3.59 115 125 0.22
Patrick Corbin WSN SP 462.2 1.6 5.68 90 15 0.31
Zach Eflin PHI SP 462.9 1.9 3.72 72 120 0.45
Adrian Houser MIL SP 470.3 1.4 3.44 102 131 0.26
Dakota Hudson STL SP 472.6 1.1 NA 122 -11 0.20
Michael Pineda DET SP 474.9 1.3 2.94 110 148 0.25
Nate Pearson TOR SP 478.5 0.6 NA 176 -43 0.08
Mitch Keller PIT SP 482.0 1.3 5.13 111 34 0.24
James Kaprielian OAK SP 486.4 1.1 3.91 123 107 0.17
Rich Hill BOS SP 489.7 0.7 3.01 160 146 0.10
Brady Singer KCR SP 491.6 2.1 6.03 56 9 0.50
Adbert Alzolay CHC SP 499.1 0.6 1.98 163 173 0.08
Dane Dunning TEX SP 499.8 1.9 4.59 66 65 0.42
Nick Lodolo CIN SP 501.1 1.0 NA 134 -44 0.16
Dylan Bundy MIN SP 507.9 1.3 4.62 108 62 0.24
Madison Bumgarner ARI SP 512.3 1.1 3.67 126 121 0.18
Miles Mikolas STL SP 513.2 1.6 2.97 89 147 0.32
Merrill Kelly ARI SP 513.8 1.7 4.23 84 88 0.37
Nick Martínez SDP SP 515.3 0.7 NA 159 -46 0.10
Wade Miley CHC SP 516.5 1.2 3.89 120 110 0.21
Grayson Rodriguez BAL SP 520.7 0.9 NA 141 -18 0.14
Roansy Contreras NA SP 522.1 0.9 NA 148 -50 0.12
Edward Cabrera MIA SP 527.8 0.6 3.25 167 141 0.06
Luke Weaver ARI SP 528.8 1.1 3.46 125 130 0.19
Matt Brash SEA SP 530.6 0.9 NA 145 -36 0.12
Domingo Germán NYY SP 537.0 1.0 2.49 130 165 0.17
JT Brubaker PIT SP 538.1 1.4 4.94 105 47 0.27
Kris Bubic KCR SP 538.4 1.1 4.64 124 57 0.19
Cole Irvin OAK SP 538.9 1.5 5.06 95 39 0.29
Jake Odorizzi HOU SP 540.4 0.9 2.60 142 159 0.11
Sixto Sánchez NA SP 541.2 1.0 NA 135 -56 0.16
Luis Gil NYY SP 541.7 0.8 2.77 153 154 0.11
José Suarez LAA SP 542.2 1.3 3.93 109 106 0.23
Matt Manning DET SP 544.4 1.2 4.59 118 64 0.21
Mike Minor CIN SP 547.8 1.8 4.23 75 89 0.39
Ryan Yarbrough TBR SP 548.2 1.5 4.07 100 95 0.28
Michael Lorenzen LAA SP 549.6 0.6 3.56 175 126 0.06
Michael Wacha BOS SP 553.2 0.9 3.30 147 137 0.13
Zach Thompson PIT SP 554.7 1.0 2.70 138 157 0.15
Austin Gomber COL SP 555.0 1.2 4.33 112 84 0.22
Mike Soroka ATL SP 559.4 1.0 NA 133 -42 0.15
Reiver Sanmartin CIN SP 559.5 1.1 NA 128 -49 0.18
Tyler Anderson LAD SP 560.9 0.7 2.75 162 155 0.09
Max Meyer MIA SP 563.8 0.4 NA 194 -38 0.03
Reynaldo López CHW SP 567.8 0.4 1.73 195 181 0.03
Dallas Keuchel CHW SP 568.3 1.2 4.49 117 70 0.22
Daniel Lynch KCR SP 569.1 0.7 3.40 156 132 0.10
Cade Cavalli WSN SP 569.5 0.6 NA 164 -3 0.06
Drew Smyly CHC SP 572.9 0.5 3.29 182 140 0.05
Kyle Freeland COL SP 576.8 1.5 4.63 97 58 0.30
Cody Morris CLE SP 577.2 0.6 NA 166 -5 0.08
Spencer Howard TEX SP 579.0 1.0 4.26 136 86 0.15
George Kirby SEA SP 579.6 0.6 NA 169 -17 0.08
Tucker Davidson ATL SP 579.7 0.4 1.69 197 183 0.04
José Quintana PIT SP 581.4 0.9 5.45 143 21 0.11
Jordan Lyles BAL SP 581.5 0.6 4.49 171 71 0.08
Brad Keller KCR SP 581.6 1.6 5.86 87 12 0.32
Johnny Cueto NA SP 581.9 0.2 2.54 220 164 0.02
James Paxton BOS SP 584.3 0.6 NA 170 -21 0.07
Matthew Liberatore STL SP 586.2 0.6 NA 174 -37 0.07
Antonio Senzatela COL SP 586.4 2.0 4.79 60 52 0.48
Ross Stripling TOR SP 586.7 0.4 2.28 196 167 0.04
Vladimir Gutierrez CIN SP 587.4 0.3 4.38 211 80 0.03
Taylor Hearn TEX SP 588.4 0.7 3.90 161 109 0.09
Justin Dunn CIN SP 588.7 0.4 1.89 192 176 0.04
Kyle Wright ATL SP 589.2 0.2 NA 223 -32 0.02
Matthew Boyd SFG SP 589.6 0.9 2.17 146 169 0.14
Glenn Otto TEX SP 590.4 0.9 3.24 140 143 0.12
Tyler Alexander DET SP 590.4 0.9 2.56 150 162 0.11
Daulton Jefferies OAK SP 591.4 0.8 NA 152 -13 0.10
Erick Fedde WSN SP 591.6 0.6 4.05 168 96 0.06
Kyle Muller ATL SP 592.5 0.3 1.47 202 194 0.02
Cole Winn TEX SP 592.9 0.2 NA 215 -7 0.01
Zach Davies ARI SP 593.5 0.2 3.30 232 138 0.01
Alec Mills CHC SP 594.2 0.5 3.82 178 113 0.05
Jackson Kowar KCR SP 594.2 0.5 2.92 185 150 0.05
Dan Straily ARI SP 594.6 0.0 NA 257 -12 0.00
A.J. Alexy TEX SP 596.0 0.7 3.38 155 134 0.09
Kwang Hyun Kim NA SP 596.6 0.3 1.69 200 184 0.02
David Peterson NYM SP 596.8 0.7 2.90 157 151 0.09
Martín Pérez TEX SP 597.3 0.8 3.55 154 127 0.10
Aníbal Sánchez WSN SP 597.4 0.1 NA 234 -2 0.00
Carlos Martínez SFG SP 597.4 0.0 1.45 254 195 0.00
Griffin Canning LAA SP 597.5 0.5 2.73 183 156 0.06
Spencer Strider ATL SP 597.5 0.2 NA 229 -57 0.02
J.A. Happ NA SP 598.0 0.5 3.38 184 133 0.05
Sammy Long SFG SP 598.2 0.2 1.81 228 177 0.02
Wil Crowe PIT SP 598.6 0.1 3.85 250 112 0.00
Paolo Espino WSN SP 598.7 0.2 2.57 225 161 0.01
Tyler Gilbert ARI SP 598.7 0.3 1.31 210 197 0.03
Bruce Zimmermann BAL SP 598.8 1.3 4.67 107 55 0.23
Chris Archer MIN SP 599.1 0.6 NA 165 -4 0.07
Vince Velasquez CHW SP 599.2 0.2 2.14 231 170 0.01
Touki Toussaint NA SP 599.3 0.1 1.18 248 199 0.00
Cole Hamels NA SP 599.5 0.1 NA 237 -6 0.00
Jake Woodford STL SP 599.6 0.0 1.74 261 179 0.00
Justin Steele CHC SP 599.7 0.5 2.81 187 152 0.04
Deivi García NYY SP 599.9 0.1 NA 238 -14 0.00
Lewis Thorpe NA SP 599.9 0.3 NA 203 -33 0.03
Justus Sheffield SEA SP 600.0 0.4 2.94 193 149 0.03
Keegan Akin BAL SP 600.0 0.9 3.91 144 108 0.13
Miguel Yajure PIT SP 600.1 0.1 NA 244 -39 0.00
D.L. Hall NA SP 600.2 0.4 NA 190 -10 0.04
Griffin Jax MIN SP 600.3 0.0 1.98 259 172 0.00
Josh Fleming TBR SP 600.4 0.6 3.29 172 139 0.07
Julio Teheran NA SP 600.4 -0.1 NA 268 -29 0.00
Bryse Wilson PIT SP 600.6 0.5 3.66 180 122 0.05
Eli Morgan CLE SP 600.6 0.2 2.26 217 168 0.01
Aaron Sanchez WSN SP 600.7 0.0 0.83 253 205 0.00
Joe Ross WSN SP 600.7 0.7 1.91 158 175 0.09
Randy Dobnak MIN SP 600.7 0.5 1.70 188 182 0.04
Chad Kuhl COL SP 600.8 0.2 2.37 213 166 0.01
Dillon Peters PIT SP 600.8 0.0 2.77 258 153 0.00
Josh Rogers WSN SP 600.8 -0.1 1.42 267 196 0.00
Logan Allen CLE SP 600.8 0.0 1.74 264 180 0.00
Peter Lambert COL SP 600.8 0.3 NA 207 -48 0.03
Ryan Weathers SDP SP 600.8 0.2 1.51 227 192 0.02
Wily Peralta DET SP 600.8 0.1 1.08 251 204 0.00
Yonny Chirinos TBR SP 600.8 0.5 NA 189 -60 0.05
Brett Anderson NA SP 600.9 0.5 1.79 179 178 0.05
Ethan Small MIL SP 600.9 0.3 NA 199 -16 0.03
Joan Adon WSN SP 600.9 0.1 NA 242 -24 0.00
Jordan Balazovic NA SP 600.9 0.2 NA 222 -27 0.01
Steven Brault CHC SP 600.9 0.1 1.68 247 186 0.00
Andre Jackson NA SP 601.0 0.1 NA 233 -1 0.00
Mike Foltynewicz NA SP 601.0 -0.1 1.92 269 174 0.00
Ryan Rolison NA SP 601.0 0.3 NA 208 -52 0.02
Adam Oller OAK SP 999.0 0.2 NA 212 0 0.01
Adrian Sampson CHC SP 999.0 -0.2 0.35 271 211 0.00
Charlie Barnes NA SP 999.0 0.1 1.22 235 198 0.00
Chase Anderson NA SP 999.0 0.0 0.59 255 210 0.00
Chi Chi González NA SP 999.0 -0.3 2.12 272 171 0.00
Chris Mazza TBR SP 999.0 0.2 0.68 214 209 0.01
Cody Ponce NA SP 999.0 0.1 1.50 236 193 0.00
Cory Abbott NA SP 999.0 0.0 NA 256 -8 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 198 -9 0.02
Dean Kremer BAL SP 999.0 0.5 2.56 181 163 0.06
Devin Smeltzer MIN SP 999.0 0.2 NA 216 -15 0.02
Hans Crouse NA SP 999.0 0.1 NA 239 -19 0.00
Humberto Castellanos ARI SP 999.0 0.1 0.81 240 207 0.00
Jaime Barría LAA SP 999.0 0.5 2.63 186 158 0.04
Jake Arrieta NA SP 999.0 0.0 1.68 260 185 0.00
Janson Junk LAA SP 999.0 0.1 NA 241 -22 0.00
Jimmy Lambert NA SP 999.0 0.2 NA 218 -23 0.01
Johan Oviedo NA SP 999.0 0.2 1.62 219 189 0.01
Jon Heasley KCR SP 999.0 0.2 NA 221 -25 0.01
Jonathan Stiever CHW SP 999.0 0.1 NA 243 -26 0.00
José Ureña MIL SP 999.0 0.0 1.64 262 188 0.00
Josh Winder MIN SP 999.0 0.4 NA 191 -28 0.04
Kohei Arihara TEX SP 999.0 0.0 0.72 263 208 0.00
Kyle Bradish NA SP 999.0 0.3 NA 201 -31 0.02
MacKenzie Gore SDP SP 999.0 0.6 NA 173 -35 0.07
Matt Harvey NA SP 999.0 0.3 1.51 204 191 0.03
Matt Shoemaker NA SP 999.0 0.0 1.13 265 202 0.00
Max Kranick PIT SP 999.0 0.3 1.65 205 187 0.03
Mike Fiers NA SP 999.0 -0.3 NA 273 -41 0.00
Nick Margevicius SEA SP 999.0 0.2 NA 224 -45 0.01
Packy Naughton NA SP 999.0 0.3 1.15 206 201 0.03
Paul Blackburn OAK SP 999.0 0.2 1.08 226 203 0.01
Ryan Feltner NA SP 999.0 0.1 NA 245 -51 0.00
Ryne Nelson ARI SP 999.0 0.1 NA 246 -53 0.00
Scott Kazmir NA SP 999.0 -0.1 NA 270 -54 0.00
Tanner Roark NA SP 999.0 0.0 NA 266 -58 0.00
Tobias Myers CLE SP 999.0 0.3 NA 209 -59 0.02
Trevor Cahill NA SP 999.0 0.2 1.15 230 200 0.01
Wade LeBlanc NA SP 999.0 0.1 0.81 249 206 0.00
Zac Lowther BAL SP 999.0 0.9 4.97 151 45 0.14
Zach Logue NA SP 999.0 0.1 NA 252 -61 0.00

RP

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Josh Hader MIL RP 30 1.2 2.26 5 81 0.92
Liam Hendriks CHW RP 32 1.6 2.52 1 48 0.98
Raisel Iglesias LAA RP 48 1.0 2.62 13 34 0.82
Emmanuel Clase CLE RP 57 1.3 2.11 3 105 0.95
Edwin Díaz NYM RP 63 1.0 2.79 10 21 0.87
Ryan Pressly HOU RP 65 1.0 2.40 14 63 0.86
Aroldis Chapman NYY RP 83 0.9 3.11 16 5 0.80
Jordan Romano TOR RP 84 0.9 2.63 19 33 0.75
Kenley Jansen ATL RP 85 0.7 2.36 32 73 0.64
Giovanny Gallegos STL RP 113 1.0 2.62 11 35 0.83
Mark Melancon ARI RP 132 0.4 2.18 93 95 0.39
Blake Treinen LAD RP 137 0.8 2.43 23 57 0.71
Corey Knebel PHI RP 143 0.5 2.23 52 86 0.52
Scott Barlow KCR RP 156 0.9 2.87 20 17 0.76
Camilo Doval SFG RP 157 0.5 2.55 49 43 0.48
Taylor Rogers MIN RP 161 1.1 2.61 7 36 0.91
Will Smith ATL RP 178 0.5 2.57 70 40 0.44
David Bednar PIT RP 187 0.9 2.12 17 102 0.78
Craig Kimbrel CHW RP 187 0.7 2.40 30 64 0.68
Gregory Soto DET RP 191 0.5 2.93 56 13 0.46
Joe Barlow TEX RP 211 0.2 1.47 161 190 0.05
Matt Barnes BOS RP 226 0.8 2.92 25 15 0.70
Lou Trivino OAK RP 232 0.3 2.41 130 61 0.11
Dylan Floro MIA RP 237 0.4 2.12 80 104 0.33
Andrew Kittredge TBR RP 241 0.8 2.45 21 55 0.72
Garrett Whitlock BOS RP 245 1.4 3.30 2 2 0.96
Jake McGee SFG RP 248 0.4 1.82 83 143 0.31
Lucas Sims CIN RP 274 0.7 2.76 33 25 0.63
Devin Williams MIL RP 282 1.0 2.67 9 32 0.88
Paul Sewald SEA RP 288 0.5 2.95 66 10 0.42
Ken Giles SEA RP 301 0.4 NA 89 -54 0.28
Rowan Wick CHC RP 301 0.4 2.44 98 56 0.32
Alex Colomé COL RP 333 0.1 2.60 188 38 -0.05
Robert Suarez SDP RP 344 0.4 NA 97 -70 0.36
Tanner Rainey WSN RP 362 0.2 2.89 181 16 0.08
Michael Fulmer DET RP 367 0.6 2.46 42 54 0.61
Kyle Finnegan WSN RP 369 0.2 2.98 171 9 0.05
Anthony Bender MIA RP 373 0.7 2.14 26 98 0.62
Dinelson Lamet SDP RP 384 0.9 2.22 18 90 0.77
Drew Steckenrider SEA RP 394 0.3 1.79 119 144 0.18
Jonathan Loáisiga NYY RP 396 1.0 2.19 12 93 0.85
Chad Green NYY RP 408 1.0 2.78 8 23 0.81
Cole Sulser BAL RP 415 0.7 2.38 29 68 0.67
Diego Castillo SEA RP 423 0.6 2.39 38 67 0.60
Art Warren CIN RP 430 0.8 1.63 22 173 0.73
Pierce Johnson SDP RP 441 0.6 2.00 43 120 0.56
Ian Kennedy ARI RP 457 -0.1 2.13 330 100 -0.07
Alex Reyes STL RP 461 0.2 1.55 141 180 0.06
Jorge Alcala MIN RP 491 0.6 2.11 41 106 0.55
Tyler Wells BAL RP 493 1.3 3.06 4 6 0.93
James Karinchak CLE RP 505 0.7 3.01 31 8 0.69
Héctor Neris HOU RP 515 0.4 2.95 82 11 0.33
Josh Staumont KCR RP 518 0.4 2.23 88 85 0.38
Chris Stratton PIT RP 520 0.3 2.76 114 26 0.20
Daniel Hudson LAD RP 523 0.5 2.00 53 119 0.49
Brad Hand PHI RP 525 0.2 2.42 147 58 0.02
Jordan Hicks STL RP 530 0.4 NA 85 -45 0.30
Pete Fairbanks TBR RP 535 0.5 2.23 67 84 0.43
Kendall Graveman CHW RP 541 0.4 2.07 90 113 0.39
Tyler Rogers SFG RP 544 0.5 2.09 69 110 0.47
Mychal Givens CHC RP 545 0.1 2.56 231 42 -0.09
Emilio Pagán SDP RP 548 0.1 2.13 206 101 -0.04
Collin McHugh ATL RP 549 0.6 2.06 37 115 0.60
A.J. Puk OAK RP 550 0.9 NA 15 0 0.79
Carlos Estévez COL RP 554 0.2 2.87 148 18 0.07
David Robertson CHC RP 557 0.2 NA 150 -15 0.03
Garrett Crochet CHW RP 559 0.8 2.34 24 76 0.74
Brusdar Graterol LAD RP 566 0.7 2.24 27 83 0.66
Richard Rodríguez NA RP 570 0.0 1.52 301 185 -0.11
Trevor May NYM RP 572 0.4 3.05 103 7 0.38
Trevor Rosenthal NA RP 572 0.3 NA 138 -82 0.14
Mitch White LAD RP 575 0.5 1.34 64 209 0.42
Luis Cessa CIN RP 578 0.3 1.48 132 189 0.17
Tyler Matzek ATL RP 579 0.6 1.46 45 193 0.62
Daniel Bard COL RP 582 0.4 3.45 78 1 0.25
Hunter Strickland CIN RP 582 -0.1 1.08 329 237 -0.09
Tyler Beede SFG RP 582 0.0 NA 315 -84 -0.11
Andrés Muñoz SEA RP 582 0.4 NA 71 -2 0.23
David Price LAD RP 583 0.5 2.71 54 28 0.45
Tyler Duffey MIN RP 583 0.4 2.15 105 97 0.34
Yimi García TOR RP 584 0.1 2.52 254 47 -0.01
Ryan Tepera LAA RP 586 0.4 1.78 99 146 0.34
Jake Diekman BOS RP 588 0.5 2.86 58 19 0.43
Drew Pomeranz SDP RP 588 0.1 0.94 204 250 -0.05
Amir Garrett KCR RP 588 0.2 2.92 143 14 0.05
Andrew Chafin DET RP 589 0.6 1.43 35 198 0.57
Brent Suter MIL RP 590 0.4 2.70 73 30 0.29
Julian Merryweather TOR RP 590 0.2 NA 167 -50 0.09
Brad Boxberger MIL RP 591 0.2 2.54 146 45 0.05
José Alvarado PHI RP 591 0.4 3.13 86 4 0.37
Caleb Smith ARI RP 592 0.0 2.31 262 80 -0.11
Danny Duffy LAD RP 592 0.3 0.69 116 271 0.12
Steve Cishek WSN RP 593 0.0 1.31 309 213 -0.11
Génesis Cabrera STL RP 595 0.6 2.22 39 87 0.57
Robert Stephenson COL RP 596 0.0 2.26 302 82 -0.11
Mike Mayers LAA RP 596 0.5 2.69 63 31 0.50
Brent Honeywell Jr. OAK RP 596 0.1 NA 197 -7 -0.11
Aaron Loup LAA RP 596 0.3 1.33 106 211 0.21
Lucas Gilbreath COL RP 596 0.0 1.93 289 127 -0.11
Aaron Bummer CHW RP 597 1.1 2.79 6 22 0.89
Hansel Robles NA RP 597 -0.1 2.61 328 37 -0.10
Jeurys Familia PHI RP 598 0.3 2.55 123 44 0.16
Bryan Shaw CLE RP 598 -0.1 1.77 320 149 -0.08
Greg Holland TEX RP 598 0.0 1.59 271 177 -0.11
Seranthony Domínguez PHI RP 598 0.2 NA 178 -76 0.09
Spencer Patton TEX RP 598 0.1 2.07 248 114 -0.09
Garrett Richards TEX RP 598 0.4 2.49 81 50 0.28
Tanner Scott BAL RP 598 0.7 2.85 34 20 0.65
Anthony Bass MIA RP 598 0.1 1.69 191 164 -0.08
J.P. Feyereisen TBR RP 598 -0.1 2.07 332 112 -0.09
Luke Jackson ATL RP 599 0.4 1.77 92 150 0.26
Ryne Stanek HOU RP 599 0.2 2.48 175 51 0.02
Julian Fernández NA RP 599 0.0 NA 284 -49 -0.11
Tony Santillan CIN RP 599 0.4 2.37 102 70 0.35
Adam Ottavino NYM RP 599 0.2 3.18 140 3 0.03
Dylan Coleman KCR RP 599 0.5 NA 55 -19 0.54
Seth Lugo NYM RP 599 0.4 2.77 101 24 0.37
Will Harris WSN RP 599 0.3 NA 139 -86 0.18
Craig Stammen SDP RP 599 0.4 1.70 77 162 0.29
Domingo Acevedo OAK RP 599 0.3 NA 118 -17 0.16
Sean Doolittle WSN RP 599 0.1 1.91 243 129 -0.08
Trevor Gott MIL RP 599 0.0 NA 314 -81 -0.11
A.J. Minter ATL RP 600 0.5 2.22 46 89 0.51
Alex Vesia LAD RP 600 0.3 1.99 108 123 0.20
Brad Wieck CHC RP 600 0.1 NA 195 -6 -0.03
Matt Wisler TBR RP 600 0.4 2.40 94 65 0.25
Tim Mayza TOR RP 600 0.6 2.10 44 109 0.59
Trevor Richards TOR RP 600 0.4 2.31 104 79 0.32
Nick Sandlin CLE RP 600 0.5 1.63 65 174 0.49
Yohan Ramirez SEA RP 600 0.1 1.14 255 231 -0.09
Cody Stashak MIN RP 600 0.5 NA 51 -10 0.40
Jorge López BAL RP 600 0.3 2.10 125 107 0.21
Scott Effross CHC RP 600 0.2 NA 177 -75 0.06
Clay Holmes NYY RP 600 0.6 2.18 36 94 0.58
Heath Hembree PIT RP 600 0.2 2.71 155 29 0.07
Sean Newcomb ATL RP 600 0.1 1.93 245 126 -0.06
José Leclerc TEX RP 600 0.2 NA 164 -46 0.00
Kervin Castro SFG RP 600 0.2 NA 169 -56 0.10
Austin Voth WSN RP 600 0.0 2.47 260 53 -0.11
Deolis Guerra OAK RP 600 0.2 1.44 151 197 0.06
Nick Wittgren STL RP 600 0.1 1.99 234 122 -0.05
Phil Bickford LAD RP 600 0.4 1.68 95 166 0.26
Ryan Helsley STL RP 600 0.1 2.40 240 62 -0.03
Bailey Falter PHI RP 600 0.5 1.78 48 147 0.52
Drew VerHagen STL RP 600 0.2 NA 153 -18 0.04
Hunter Harvey WSN RP 600 0.1 NA 211 -26 -0.09
J.B. Bukauskas ARI RP 600 -0.1 NA 331 -30 -0.06
Jakob Junis SFG RP 600 0.2 2.10 157 108 0.02
José Álvarez SFG RP 600 0.1 0.80 222 258 -0.02
JT Chargois TBR RP 600 0.3 1.73 128 156 0.19
Sergio Romo SEA RP 600 0.1 1.92 247 128 -0.11
Austin Adams SDP RP 601 0.3 1.65 110 172 0.22
Brooks Raley TBR RP 601 0.3 2.02 111 118 0.14
Chris Martin CHC RP 601 0.4 1.70 75 161 0.27
Dauri Moreta CIN RP 601 0.1 NA 201 -13 -0.03
Demarcus Evans NA RP 601 0.0 1.73 267 154 -0.11
J.B. Wendelken ARI RP 601 0.2 2.47 156 52 0.04
Jake Cousins MIL RP 601 0.5 1.76 57 151 0.46
Joe Kelly CHW RP 601 0.4 1.50 84 186 0.36
Josh Taylor BOS RP 601 0.5 1.86 61 136 0.47
Kolby Allard TEX RP 601 0.3 1.59 129 176 0.13
Michael King NYY RP 601 0.5 1.55 62 181 0.50
Taylor Widener ARI RP 601 0.0 1.78 312 145 -0.11
Zack Littell SFG RP 601 0.1 1.73 256 155 -0.04
Adam Cimber TOR RP 601 0.3 1.28 107 219 0.19
Casey Sadler SEA RP 601 0.3 0.38 113 277 0.19
Connor Brogdon PHI RP 601 0.4 1.89 76 133 0.31
Erik Swanson SEA RP 601 0.3 1.08 120 239 0.14
Hirokazu Sawamura BOS RP 601 0.0 2.56 272 41 -0.11
Jake Brentz KCR RP 601 0.3 2.39 121 66 0.15
Louis Head MIA RP 601 0.3 0.79 131 260 0.12
Richard Bleier MIA RP 601 0.5 0.90 68 253 0.44
Archie Bradley LAA RP 601 0.2 2.16 144 96 0.03
Colin Poche TBR RP 601 0.3 NA 115 -11 0.21
Dominic Leone SFG RP 601 0.1 1.66 203 170 -0.04
Jarlín García SFG RP 601 0.0 1.72 278 158 -0.11
Jharel Cotton MIN RP 601 0.1 1.15 218 230 -0.02
Tyler Clippard NA RP 601 -0.2 1.28 359 216 -0.03
Joely Rodríguez NYY RP 601 0.6 2.41 40 60 0.55
Josh Sborz TEX RP 601 0.3 2.33 126 77 0.17
Miguel Castro NYM RP 601 0.1 1.83 230 141 -0.03
Phil Maton HOU RP 601 0.4 2.95 96 12 0.35
Sam Coonrod PHI RP 601 0.4 2.03 100 116 0.24
Tommy Kahnle LAD RP 601 0.2 NA 182 -80 0.10
Anthony Gose CLE RP 601 -0.3 NA 361 -4 -0.01
Dillon Tate BAL RP 601 0.4 1.72 79 159 0.35
Grant Holmes OAK RP 601 -0.1 NA 327 -25 -0.11
Josh James NA RP 601 0.2 NA 166 -47 0.08
Noé Ramirez ARI RP 601 0.1 1.12 235 235 -0.09
Ryan Brasier BOS RP 601 0.0 NA 304 -72 -0.11
Trevor Williams NYM RP 601 0.2 2.09 183 111 0.01
Yusmeiro Petit NA RP 601 -0.3 1.40 364 200 -0.02
Aaron Fletcher PIT RP 999 0.0 NA 257 -1 -0.11
Adam Morgan NA RP 999 0.1 1.46 187 194 -0.11
Albert Abreu NYY RP 999 -0.1 1.85 317 138 -0.10
Alex Claudio NYM RP 999 0.0 1.35 258 207 -0.11
Alex Lange DET RP 999 0.1 1.78 189 148 -0.02
Alexander Wells NA RP 999 0.2 1.86 142 137 0.10
Andres Machado WSN RP 999 -0.2 1.13 348 232 -0.05
Andrew Miller NA RP 999 -0.1 1.28 318 217 -0.07
Andrew Wantz LAA RP 999 0.4 2.32 72 78 0.26
Angel Perdomo NA RP 999 0.1 NA 190 -3 -0.06
Anthony Banda PIT RP 999 -0.2 2.35 349 74 -0.05
Anthony Misiewicz SEA RP 999 0.3 2.22 109 88 0.15
Ashton Goudeau COL RP 999 -0.2 0.75 350 267 -0.03
Austin Davis BOS RP 999 0.2 1.73 145 157 0.09
Austin Pruitt NA RP 999 0.0 NA 259 -5 -0.11
Austin Warren LAA RP 999 0.5 1.83 47 140 0.40
Ben Bowden COL RP 999 0.1 1.47 192 191 -0.08
Blake Parker NA RP 999 0.1 1.02 193 245 -0.09
Blake Taylor HOU RP 999 0.1 1.68 194 167 -0.02
Brad Brach ATL RP 999 -0.1 1.42 319 199 -0.11
Brandon Bielak HOU RP 999 0.1 1.39 196 204 -0.02
Brandon Kintzler NA RP 999 0.0 1.40 261 203 -0.11
Brandon Workman NA RP 999 -0.2 1.15 351 229 -0.05
Brett Martin TEX RP 999 0.4 1.67 74 168 0.27
Bryan Abreu HOU RP 999 0.1 1.25 198 221 -0.04
Bryan Garcia NA RP 999 -0.2 1.49 352 187 -0.03
Buck Farmer NA RP 999 -0.1 1.18 321 228 -0.06
Caleb Ferguson LAD RP 999 0.3 NA 112 -8 0.22
Caleb Thielbar MIN RP 999 0.7 2.12 28 103 0.67
Cam Bedrosian PHI RP 999 0.0 0.62 263 272 -0.11
Chasen Shreve NYM RP 999 -0.1 0.59 322 273 -0.07
Chaz Roe NA RP 999 0.0 NA 264 -9 -0.11
Cionel Pérez BAL RP 999 0.5 2.03 50 117 0.41
Cody Poteet MIA RP 999 0.1 1.06 199 242 -0.11
Dan Winkler TEX RP 999 -0.1 0.88 323 254 -0.06
Daniel Norris CHC RP 999 0.2 2.35 149 75 0.02
Danny Coulombe MIN RP 999 0.1 0.95 200 248 -0.08
Darren O'Day ATL RP 999 0.0 NA 265 -12 -0.11
Darwinzon Hernandez BOS RP 999 0.3 1.98 117 124 0.11
David Phelps TOR RP 999 0.1 NA 202 -14 -0.06
Dellin Betances NA RP 999 0.0 NA 266 -16 -0.11
Dennis Santana TEX RP 999 0.0 1.56 268 179 -0.11
Derek Holland BOS RP 999 -0.1 1.32 324 212 -0.07
Dillon Maples NA RP 999 0.0 0.54 269 275 -0.11
Domingo Tapia KCR RP 999 -0.1 1.19 325 226 -0.09
Drew Smith NYM RP 999 0.2 1.45 152 196 0.01
Duane Underwood Jr. PIT RP 999 0.1 1.85 205 139 -0.11
Enyel De Los Santos CLE RP 999 0.1 1.36 207 206 -0.01
Erasmo Ramírez NA RP 999 -0.3 0.57 362 274 -0.02
Eric Hanhold NA RP 999 -0.1 NA 326 -20 -0.06
Ervin Santana NA RP 999 -0.4 1.08 365 238 0.00
Evan Phillips LAD RP 999 0.1 NA 208 -21 -0.07
Fernando Abad NA RP 999 0.0 NA 270 -22 -0.11
Francisco Perez WSN RP 999 0.1 NA 209 -23 -0.02
Gabe Speier KCR RP 999 0.2 NA 154 -24 0.09
Hoby Milner MIL RP 999 0.1 0.95 210 247 -0.08
Ian Gibaut CLE RP 999 0.0 NA 273 -27 -0.11
Ian Krol SDP RP 999 0.0 NA 274 -28 -0.11
Isaac Mattson BAL RP 999 0.0 NA 275 -29 -0.11
J.C. Mejía MIL RP 999 0.0 2.42 276 59 -0.11
Jace Fry WSN RP 999 0.1 NA 212 -31 -0.05
Jacob Barnes DET RP 999 0.1 1.30 213 214 -0.05
Jacob Webb NA RP 999 0.0 1.54 277 182 -0.11
Jake Reed NYM RP 999 0.1 NA 214 -32 -0.06
Jalen Beeks TBR RP 999 0.2 NA 158 -33 0.04
Jandel Gustave MIL RP 999 0.1 NA 215 -34 -0.04
Jason Foley DET RP 999 -0.1 NA 333 -35 -0.08
Javy Guerra SDP RP 999 0.2 NA 159 -36 0.04
Jay Jackson ATL RP 999 0.1 1.56 216 178 -0.07
JD Hammer COL RP 999 0.1 1.19 217 227 -0.08
Jeff Hoffman CIN RP 999 0.0 2.37 279 71 -0.11
Jeffrey Springs TBR RP 999 0.3 1.69 122 165 0.17
Jerad Eickhoff PIT RP 999 -0.1 NA 334 -37 -0.09
Jesse Chavez NA RP 999 0.0 1.26 280 220 -0.11
Jesse Hahn NA RP 999 -0.2 NA 353 -38 -0.04
Jhonathan Diaz NA RP 999 0.2 NA 160 -39 0.08
Jhoulys Chacín COL RP 999 -0.4 1.49 366 188 0.00
Jimmy Herget LAA RP 999 0.0 NA 281 -40 -0.11
Joe Jiménez DET RP 999 0.2 2.54 162 46 0.07
Joe Mantiply ARI RP 999 0.2 1.23 163 223 0.03
Joe Smith MIN RP 999 0.1 1.76 219 152 -0.01
Joel Payamps KCR RP 999 0.3 0.77 124 264 0.12
Joey Krehbiel BAL RP 999 0.0 NA 282 -41 -0.11
John Brebbia SFG RP 999 0.1 NA 220 -42 -0.04
John King TEX RP 999 0.5 1.90 59 130 0.53
Jonathan Hernández TEX RP 999 0.1 NA 221 -43 -0.03
Jonathan Holder CHC RP 999 0.0 NA 283 -44 -0.11
Jordan Holloway NA RP 999 -0.1 1.21 335 225 -0.08
Jordan Sheffield COL RP 999 -0.2 0.77 354 265 -0.05
José Cisnero DET RP 999 0.4 2.59 87 39 0.24
José Quijada LAA RP 999 0.5 1.90 60 131 0.53
José Ruiz CHW RP 999 0.2 0.87 165 255 0.00
Josh Tomlin NA RP 999 -0.3 1.69 363 163 -0.01
Jovani Moran MIN RP 999 0.3 NA 127 -48 0.20
Juan Minaya MIN RP 999 0.1 1.04 223 243 -0.08
Junior Fernández NA RP 999 0.1 0.80 224 259 -0.10
Junior Guerra NA RP 999 -0.1 1.40 336 202 -0.11
Justin Anderson TEX RP 999 0.0 NA 285 -51 -0.11
Justin Bruihl LAD RP 999 0.2 NA 168 -52 0.01
Justin Garza CLE RP 999 -0.1 1.11 337 236 -0.08
Justin Lawrence COL RP 999 0.0 NA 286 -53 -0.11
Justin Wilson CIN RP 999 0.1 1.82 225 142 -0.05
Keegan Thompson CHC RP 999 0.0 2.36 287 72 -0.11
Keone Kela ARI RP 999 0.0 NA 288 -55 -0.11
Keynan Middleton NA RP 999 -0.1 0.91 338 252 -0.08
Kirby Snead OAK RP 999 0.4 NA 91 -57 0.30
Kodi Whitley STL RP 999 0.2 0.82 170 257 0.00
Konnor Pilkington CLE RP 999 0.1 NA 226 -58 -0.11
Kyle Funkhouser DET RP 999 0.1 2.51 227 49 -0.06
Kyle McGowin NA RP 999 0.2 1.12 172 234 0.07
Kyle Tyler NA RP 999 -0.2 NA 355 -59 -0.04
Kyle Zimmer NA RP 999 -0.2 1.65 356 171 -0.04
Manuel Rodríguez CHC RP 999 0.1 NA 228 -60 -0.02
Mason Thompson WSN RP 999 0.0 1.03 290 244 -0.11
Matt Foster CHW RP 999 0.1 1.33 229 210 -0.03
Matt Moore TEX RP 999 -0.1 0.78 339 262 -0.08
Matt Peacock ARI RP 999 0.0 0.76 291 266 -0.11
Matt Strahm BOS RP 999 0.2 NA 173 -61 0.05
Michael Feliz BOS RP 999 0.0 1.13 292 233 -0.11
Michael Rucker CHC RP 999 0.0 1.40 293 201 -0.11
Miguel Del Pozo DET RP 999 0.2 NA 174 -62 0.00
Miguel Sánchez MIL RP 999 0.0 1.06 294 241 -0.11
Mike Baumann BAL RP 999 0.0 NA 295 -63 -0.11
Nabil Crismatt SDP RP 999 0.0 1.37 296 205 -0.11
Nick Mears PIT RP 999 0.0 1.35 297 208 -0.11
Nick Neidert NA RP 999 -0.2 0.73 357 269 -0.04
Nick Nelson PHI RP 999 0.1 NA 232 -64 -0.08
Nick Snyder TEX RP 999 0.1 NA 233 -65 -0.07
Oliver Drake TBR RP 999 0.1 NA 236 -66 -0.03
Oliver Pérez ARI RP 999 0.0 NA 298 -67 -0.11
Patrick Murphy WSN RP 999 0.3 1.88 133 134 0.23
Pedro Báez HOU RP 999 -0.2 NA 358 -68 -0.02
Peter Solomon HOU RP 999 0.1 NA 237 -69 -0.10
Phillips Valdez BOS RP 999 -0.1 0.96 340 246 -0.10
Rafael Dolis NA RP 999 0.0 2.21 299 91 -0.11
Rafael Montero HOU RP 999 0.1 1.97 238 125 -0.07
Ralph Garza Jr. NA RP 999 -0.1 0.78 341 263 -0.09
Rex Brothers MIL RP 999 0.0 0.92 300 251 -0.11
Robert Gsellman CHC RP 999 -0.1 0.50 342 276 -0.07
Rony García DET RP 999 -0.1 NA 343 -71 -0.07
Ross Detwiler NA RP 999 0.0 1.52 303 184 -0.11
Ryan Borucki TOR RP 999 0.1 1.25 239 222 -0.01
Ryan Burr CHW RP 999 0.0 1.07 305 240 -0.11
Ryan Hendrix CIN RP 999 0.0 1.89 306 132 -0.11
Ryan Sherriff PHI RP 999 0.1 NA 241 -73 -0.05
Ryan Thompson TBR RP 999 0.3 1.54 134 183 0.22
Ryne Harper NA RP 999 0.1 0.79 242 261 -0.09
Sam Hentges CLE RP 999 0.3 2.72 135 27 0.11
Sam Howard PIT RP 999 0.2 2.20 176 92 0.09
Sam Moll OAK RP 999 0.0 NA 307 -74 -0.11
Sam Selman OAK RP 999 0.0 0.74 308 268 -0.11
Sean Guenther MIA RP 999 0.1 0.86 244 256 -0.01
Sean Poppen ARI RP 999 0.3 1.67 136 169 0.13
Sean Reid-Foley NYM RP 999 0.1 1.71 246 160 -0.10
Steven Okert MIA RP 999 0.2 1.28 179 218 0.10
T.J. McFarland STL RP 999 0.2 0.95 180 249 -0.01
T.J. Zeuch NA RP 999 0.0 NA 310 -77 -0.11
Taylor Clarke KCR RP 999 0.0 1.62 311 175 -0.11
Thomas Hatch NA RP 999 0.1 NA 249 -78 -0.07
Tim Hill SDP RP 999 0.3 1.99 137 121 0.16
Tommy Hunter NA RP 999 0.0 NA 313 -79 -0.11
Tony Watson NA RP 999 -0.1 1.23 344 224 -0.11
Trent Thornton TOR RP 999 0.1 1.29 250 215 -0.04
Trevor Stephan CLE RP 999 0.1 2.37 251 69 -0.07
Trey Wingenter CIN RP 999 0.1 NA 252 -83 -0.02
Tyler Kinley COL RP 999 0.1 1.87 253 135 -0.11
Tyler Thornburg ATL RP 999 -0.2 NA 360 -85 -0.03
Wander Suero NA RP 999 0.2 1.46 184 192 0.08
Wandy Peralta NYY RP 999 0.2 2.13 185 99 0.06
Yency Almonte LAD RP 999 -0.1 1.46 345 195 -0.06
Yennsy Díaz NA RP 999 -0.1 0.72 346 270 -0.06
Yoan López NA RP 999 0.0 NA 316 -87 -0.11
Zach Pop MIA RP 999 0.2 1.75 186 153 0.01
Zack Burdi NA RP 999 -0.1 NA 347 -88 -0.09
LS0tDQp0aXRsZTogIjIwMjIgT3ZlcmFsbCA1eDUgUHJvamVjdGlvbnMiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6IA0KICBodG1sX25vdGVib29rOg0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSkNCmtuaXRyOjpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gJ0M6L1VzZXJzL0FkbWluL0RvY3VtZW50cy9MZWFybmluZyBQeXRob24gRm9sZGVyMS9QeXRob24gRXNzZW5jZSBUcmFpbmluZy9GYW50YXN5LUJhc2ViYWxsL0RhdGEnKQ0Kb3B0aW9ucyhrbml0ci50YWJsZS5mb3JtYXQgPSAiaHRtbCIpIA0Kb3B0aW9ucyhkaWdpdHM9MikNCm9wdGlvbnMoc2NpcGVuID0gMTAwKQ0KYGBgDQoNCg0KIyMjIyBbR28gYmFjayB0byB0aGUgbWFpbiBwYWdlXShodHRwczovL2Rpc3NpcGF0aW9uLmdpdGh1Yi5pby9EYXJzaERTUG9ydGZvbGlvLykNCg0KDQpBbGwgZGF0YSBpcyBmcm9tIFtGYW5HcmFwaHMuXShodHRwczovL3d3dy5mYW5ncmFwaHMuY29tLykgSSBoYXZlIG5vIGFmZmlsaWF0aW9uIHdpdGggRmFuR3JhcGhzLCBidXQgcGxlYXNlIGNvbnNpZGVyIGNvbnRyaWJ1dGluZyB0byB0aGVpciBbd2Vic2l0ZV0oaHR0cHM6Ly9wbHVzLmZhbmdyYXBocy5jb20vc2hvcC8pIGlmIHlvdSBmb3VuZCB0aGlzIHByb2plY3QgaW5mb3JtYXRpdmUuICAgIA0KDQpQb3NpdGlvbmFsIFNjYXJjaXR5IGlzIGRldGVybWluZWQgYnkgW0FUQyBXQVIgUHJvamVjdGlvbnNdKGh0dHBzOi8vd3d3LmZhbmdyYXBocy5jb20vcHJvamVjdGlvbnMuYXNweD9wb3M9YWxsJnN0YXRzPWJhdCZ0eXBlPWF0YyZ0ZWFtPTAmbGc9YWxsJnBsYXllcnM9MCkgZnJvbSAzLTMxLTIwMjIuICANCg0KKioqICAgIA0KDQojICoqV0FSIFBST0pFQ1RJT05TIEFORCBNT0RFTCBTQ09SRVMqKiB7LnRhYnNldCAudGFic2V0LXBpbGxzfSAgIA0KUGxheWVycyB0aGF0IGhhdmUgYW4gYE5BYCBmb3IgYE1vZGVsX1Njb3JlYCBkaWQgbm90IHBsYXkgaW4gdGhlIE1MQiBpbiAyMDIxIGFuZCBoYXZlIGEgbmVnYXRpdmUgb3IgemVybyBQb3NpdGlvbiBSYW5rLiAgDQpgYGB7cn0NCiMjIyBGaWxsIGluIGNvZGUNCmBgYA0KDQoNCioqKiAgICANCg0KIyMgT3ZlcmFsbCAgey50YWJzZXQgLnRhYnNldC1waWxsc30gICAgDQpNeSBtb2RlbCBzY29yZXMgZm9yIGEgcGxheWVyIGFyZSBgTW9kZWxfU2NvcmVgLiAqTm90ZTpQaXRjaGluZyBTY29yZXMgYXJlIG5vcm1hbGl6ZWQgdG8gZXF1YWwgdGhlIHN1bSBvZiBXQVIgZm9yIGhpdHRlcnMgc28gdGhleSBoYXZlIGluZmxhdGVkIG1vZGVsIHNjb3Jlcy4gT3RoZXIgdGFicyBoYXZlIG5vbi1ub3JtYWxpemVkIHNjb3Jlcy4qICANCmBgYHtyfQ0KIyMgUmFua3MgYWJvdmUgQURQIHNob3VsZCBiZSBmb3IgdG90YWwNCg0KDQpoaXR0aW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsID0gc3FsZGYoDQogICINCiAgc2VsZWN0IGEuKiwgYi5QcmVkaWN0X1Njb3JlDQogIGZyb20NCiAgbG9va3VwdGFibGUgYQ0KICBsZWZ0IGpvaW4NCiAgaGl0dGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uczV4YiBiDQogIG9uIGEucGxheWVyaWQgPSBiLnBsYXllcmlkDQogICINCikNCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCA9DQpoaXR0aW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsICU+JSANCiAgbXV0YXRlKA0KICAgIEF2Z19QQSA9IG1lYW4oUEEpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfcmF3ID0gaWZlbHNlKGlzLm5hKFByZWRpY3RfU2NvcmUpLE5BLFByZWRpY3RfU2NvcmUqKFBBL0F2Z19QQSkpDQogICkgJT4lIHNlbGVjdCgtQXZnX1BBKQ0KDQoNCg0KcGl0Y2hpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnNfVG90YWwgPSBzcWxkZigNCiAgIg0KICBzZWxlY3QgYS4qLCBiLlByZWRpY3RfU2NvcmUNCiAgZnJvbQ0KICBsb29rdXB0YWJsZTIgYQ0KICBsZWZ0IGpvaW4NCiAgUGl0Y2hpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnM1eCBiDQogIG9uIGEucGxheWVyaWQgPSBiLnBsYXllcmlkDQogICINCikNCg0KQWRqdXN0bWVudF9mYWN0b3I9IChzdW0oRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCRXQVIsbmEucm0gPSBUKSkvKHN1bShwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbCRXQVIsbmEucm0gPSBUKSkNCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9Ub3RhbCA9DQpwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX3JhdyA9IGlmZWxzZShpcy5uYShQcmVkaWN0X1Njb3JlKSxOQSxQcmVkaWN0X1Njb3JlKihJUC9BdmdfSVApKkFkanVzdG1lbnRfZmFjdG9yKQ0KICApICU+JSBzZWxlY3QoLUF2Z19JUCkNCg0KDQpQaXRjaGluZ19mb3JfT3ZlcmFsbCA9IEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsICU+JSBzZWxlY3QoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsQWRqUHJlZGljdF9TY29yZV9yYXcsUG9zaXRpb25hbF9TY2FyY2l0eSkNCiAgDQogIA0KSGl0dGluZ19mb3JfT3ZlcmFsbCA9ICBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JSBzZWxlY3QoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsQWRqUHJlZGljdF9TY29yZV9yYXcsUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpGYW5HcmFwaF9PdmVyYWxsMSA9IHJiaW5kKFBpdGNoaW5nX2Zvcl9PdmVyYWxsLEhpdHRpbmdfZm9yX092ZXJhbGwpDQoNCg0KYGBgDQoNCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX092ZXJhbGwgPQ0KRmFuR3JhcGhfT3ZlcmFsbDEgJT4lIA0KICBtdXRhdGUoDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gQWRqUHJlZGljdF9TY29yZV9yYXcsDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlX3Jhdyx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfT3ZlcmFsbFsxOm5yb3coRmFuR3JhcGhfT3ZlcmFsbCksIDE6bmNvbChGYW5HcmFwaF9PdmVyYWxsKV0gJT4lIA0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkTW9kZWxfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCmBgYA0KDQoNCiMjIEhpdHRlcnMgYnkgUG9zaXRpb24gey50YWJzZXQgLnRhYnNldC1waWxsc30NCk15IG5vbi1ub3JtYWxpemVkIG1vZGVsIHNjb3JlcyBmb3IgYSBwbGF5ZXIgYXJlIGBNb2RlbF9TY29yZWAuICANCg0KIyMjIE92ZXJhbGwNCg0KYGBge3J9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JQ0KZmlsdGVyKFBBID4gMSkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkSGl0dGluZ19SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiSGl0dGluZ19SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KYGBgDQoNCg0KIyMjIDFCDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbjFiID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCg0KIyMjIDJCICAgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbjJiID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyAzQiAgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb24zYiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQojIyMgU1MgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25TUyA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICAgDQpgYGANCg0KIyMjIExGICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25MRiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KYGBgDQoNCiMjIyBSRiAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uUkYgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCmBgYA0KDQojIyMgQ0YgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbkNGID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyBPRiAgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICANCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uT0YgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQpgYGANCg0KIyMjIEMgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbkMgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQpgYGANCg0KIyMjIERIICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25ESCA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCg0KDQojIyBQaXRjaGVycyBieSBQb3NpdGlvbiB7LnRhYnNldCAudGFic2V0LXBpbGxzfSAgDQpNeSBub24tbm9ybWFsaXplZCBtb2RlbCBzY29yZXMgZm9yIGEgcGxheWVyIGFyZSBgTW9kZWxfU2NvcmVgLiAgICANCiANCiMjIyBBbGwgUCAgDQoNCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiA9DQpwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX3JhdyA9IGlmZWxzZShpcy5uYShQcmVkaWN0X1Njb3JlKSxOQSxQcmVkaWN0X1Njb3JlKihJUC9BdmdfSVApKjEpDQogICkgJT4lIHNlbGVjdCgtQXZnX0lQKQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JQ0KZmlsdGVyKElQID4gMTkpICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMlsxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBpdGNoaW5nX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQaXRjaGluZ19SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KDQpgYGANCg0KDQojIyMgU1ANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiA9DQpwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX3JhdyA9IGlmZWxzZShpcy5uYShQcmVkaWN0X1Njb3JlKSxOQSxQcmVkaWN0X1Njb3JlKihJUC9BdmdfSVApKjEpDQogICkgJT4lIHNlbGVjdCgtQXZnX0lQKSAlPiUNCmZpbHRlcihJUCA+IDE5ICYgUG9zaXRpb25TUCA9PTEpDQoNCg0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfVG90YWwyICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMlsxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KDQpgYGANCg0KDQoNCiMjIyBSUCAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9Ub3RhbDIgPQ0KcGl0Y2hpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnNfVG90YWwgJT4lIA0KICBtdXRhdGUoDQogICAgQXZnX0lQID0gbWVhbihJUCksDQogICAgQWRqUHJlZGljdF9TY29yZV9yYXcgPSBpZmVsc2UoaXMubmEoUHJlZGljdF9TY29yZSksTkEsUHJlZGljdF9TY29yZSooSVAvQXZnX0lQKSoxKQ0KICApICU+JSBzZWxlY3QoLUF2Z19JUCkgJT4lDQpmaWx0ZXIoSVAgPiAxOSAmIFBvc2l0aW9uUlAgPT0xKQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzJbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCg0KYGBgDQoNCg0KDQo=